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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/stable/src/daq/include/RAT/WaveformAnalyzerBase.hh Source File
Ratpac-two
WaveformAnalyzerBase.hh
1 
10 #ifndef __RAT_WaveformAnalyzerBase__
11 #define __RAT_WaveformAnalyzerBase__
12 
13 #include <limits>
14 #include <vector>
15 
16 #include "RAT/DS/Digit.hh"
17 #include "RAT/DS/DigitPMT.hh"
18 #include "RAT/Digitizer.hh"
19 #include "RAT/Processor.hh"
20 
21 namespace RAT {
22 
24  public:
29 
37  WaveformAnalyzerBase(std::string _procname, std::string config_name) : Processor(_procname) {
38  Configure(config_name);
39  }
40 
49  virtual void Configure(const std::string &config_name);
50 
55  virtual void SetS(std::string param, std::string value) override;
56 
60  virtual void SetD(std::string param, double value) override;
61  virtual void SetI(std::string param, int value) override;
62 
77  virtual void RunAnalysis(DS::DigitPMT *digitpmt, int pmtID, Digitizer *fDigitizer);
78 
93  virtual void RunAnalysis(DS::DigitPMT *digitpmt, int pmtID, DS::Digit *dsdigit);
94 
98  Processor::Result Event(DS::Root *ds, DS::EV *ev) override;
99 
109  virtual void DoAnalysis(DS::DigitPMT *digitpmt, const std::vector<UShort_t> &digitwfm) = 0;
110 
111  protected:
112  // Digitizer Settings
113  double fTimeStep;
114  double fVoltageRes;
115  double fTermOhms;
116 
117  // Charge thresholds: skip analysis if digitized total charge is outside [fMinTotalCharge, fMaxTotalCharge] (pC).
118  double fMinTotalCharge = std::numeric_limits<double>::lowest();
119  double fMaxTotalCharge = std::numeric_limits<double>::max();
120 };
121 
122 } // namespace RAT
123 
124 #endif
Definition: DigitPMT.hh:23
Definition: Digit.hh:22
Definition: EV.hh:33
Definition: Root.hh:39
Digitizer.
Definition: Digitizer.hh:29
Definition: Processor.hh:36
Result
Definition: Processor.hh:59
Definition: WaveformAnalyzerBase.hh:23
virtual void Configure(const std::string &config_name)
Definition: WaveformAnalyzerBase.cc:9
WaveformAnalyzerBase(std::string _procname, std::string config_name)
Definition: WaveformAnalyzerBase.hh:37
virtual void DoAnalysis(DS::DigitPMT *digitpmt, const std::vector< UShort_t > &digitwfm)=0
virtual void RunAnalysis(DS::DigitPMT *digitpmt, int pmtID, Digitizer *fDigitizer)
Definition: WaveformAnalyzerBase.cc:11
Processor::Result Event(DS::Root *ds, DS::EV *ev) override
Definition: WaveformAnalyzerBase.cc:31
virtual void SetD(std::string param, double value) override
Definition: WaveformAnalyzerBase.cc:53
virtual void SetI(std::string param, int value) override
Definition: WaveformAnalyzerBase.cc:63
virtual void SetS(std::string param, std::string value) override
Definition: WaveformAnalyzerBase.cc:45
Definition: CCCrossSecMessenger.hh:29