AdcSimulator.h
Go to the documentation of this file.
1 // AdcSimulator.h
2 
3 #ifndef AdcSimulator_H
4 #define AdcSimulator_H
5 
6 // Interface for a tool that simulates the response of an ADC,
7 // i.e. converts an input voltage to an ADC count.
8 //
9 // The method count(...) returns the ADC count (i.e. bin) for a given
10 // input voltage. The caller also has the option of providing the
11 // channel number and tick to allow the repective possibilities of
12 // channel and time dependence.
13 //
14 // Longer time dependence, e.g. event-to-event or day-to-day is not
15 // (yet) directly supported. We assume that concrete subclasses are
16 // otherwise made aware of the current event or time if there is to
17 // be such dependence.
18 
19 class AdcSimulator {
20 
21 public:
22 
23  using Channel = unsigned int;
24  using Count = unsigned short;
25  using Tick = unsigned int;
26 
27  virtual ~AdcSimulator() =default;
28 
29  virtual Count count(double vin, Channel chan =0, Tick tick =0) const =0;
30 
31 };
32 
33 #endif
virtual ~AdcSimulator()=default
unsigned int Tick
Definition: AdcSimulator.h:25
tick_as<> tick
Tick number, represented by std::ptrdiff_t.
Definition: electronics.h:75
unsigned int Channel
Definition: AdcSimulator.h:23
virtual Count count(double vin, Channel chan=0, Tick tick=0) const =0
unsigned short Count
Definition: AdcSimulator.h:24