/home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/daq/include/RAT/Digitizer.hh Source File

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/daq/include/RAT/Digitizer.hh Source File
Ratpac-two
Digitizer.hh
1 #ifndef __RAT_Digitizer__
17 #define __RAT_Digitizer__
18 
19 #include <RAT/DB.hh>
20 #include <RAT/DS/Digit.hh>
21 #include <RAT/DS/EV.hh>
22 #include <RAT/DS/MCPMT.hh>
23 #include <RAT/DS/PMTInfo.hh>
24 #include <RAT/PMTWaveformGenerator.hh>
25 #include <map>
26 
27 namespace RAT {
28 
29 class Digitizer {
30  public:
31  Digitizer(){};
32  virtual ~Digitizer(){};
33  Digitizer(std::string);
34 
35  virtual void SetDigitizerType(std::string);
36  virtual void DigitizePMT(DS::MCPMT *mcpmt, int pmtID, double triggerTime, DS::PMTInfo *pmtinfo);
37  virtual void ClearWaveforms();
38  virtual void WriteToEvent(DS::EV *ev);
39  virtual void AddChannel(int ichannel, PMTWaveform pmtwf);
40 
41  void AddWaveformGenerator(std::string modelName);
42 
43  std::string fDigitName; // Digitizer type
44  int fNBits; // N bits of the digitizer
45  double fVhigh; // Upper dynamic range
46  double fVlow; // Lower dynamic range
47  double fSamplingRate; // Sampling rate in GHz
48  int fNSamples; // Total number of samples per digitized trace
49  double fTerminationOhms; // Input impedence of digitizer
50  // Channel:Digitized waveform for each channel
51  std::map<int, std::vector<UShort_t>> fDigitWaveForm;
52 
53  std::map<std::string, PMTWaveformGenerator *> fPMTWaveformGenerators;
54 
55  protected:
56  DBLinkPtr fLdaq;
57  DBLinkPtr fDigit;
58 
59  double fOffset; // Digitizer offset
60  double fNoiseAmpl; // Electronic noise width
61 };
62 
63 } // namespace RAT
64 
65 #endif
Definition: EV.hh:33
Definition: MCPMT.hh:21
Definition: PMTInfo.hh:19
Digitizer.
Definition: Digitizer.hh:29
Definition: PMTWaveform.hh:14
Definition: CCCrossSecMessenger.hh:29