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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/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 
118  virtual std::string GetAnalyzerName() const;
119 
120  protected:
121  // Digitizer Settings
122  double fTimeStep;
123  double fVoltageRes;
124  double fTermOhms;
125 
126  // Charge thresholds: skip analysis if digitized total charge is outside [fMinTotalCharge, fMaxTotalCharge] (pC).
127  double fMinTotalCharge = std::numeric_limits<double>::lowest();
128  double fMaxTotalCharge = std::numeric_limits<double>::max();
129 };
130 
131 } // namespace RAT
132 
133 #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 std::string GetAnalyzerName() const
Definition: WaveformAnalyzerBase.cc:11
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:20
Processor::Result Event(DS::Root *ds, DS::EV *ev) override
Definition: WaveformAnalyzerBase.cc:43
virtual void SetD(std::string param, double value) override
Definition: WaveformAnalyzerBase.cc:65
virtual void SetI(std::string param, int value) override
Definition: WaveformAnalyzerBase.cc:75
virtual void SetS(std::string param, std::string value) override
Definition: WaveformAnalyzerBase.cc:57
Definition: CCCrossSecMessenger.hh:29