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

Ratpac-two: /home/docs/checkouts/readthedocs.org/user_builds/ratpac/checkouts/latest/src/daq/include/RAT/AfterPulseProc.hh Source File
Ratpac-two
AfterPulseProc.hh
1 #ifndef __RAT_AfterPulseProc__
2 #define __RAT_AfterPulseProc__
3 
4 #include <RAT/DS/PMTInfo.hh>
5 #include <RAT/PMTCharge.hh>
6 #include <RAT/PMTTime.hh>
7 #include <RAT/Processor.hh>
8 #include <map>
9 
10 namespace RAT {
11 
12 class AfterPulseProc : public Processor {
13  public:
15  virtual ~AfterPulseProc(){};
16  virtual Processor::Result DSEvent(DS::Root* ds);
17  void BeginOfRun(DS::Run* run);
18  void UpdatePMTModels(DS::PMTInfo* pmtinfo);
19 
20  void GenerateAfterPulses(DS::MC* mc, DS::PMTInfo* pmtinfo, uint64_t eventTime);
21  double CalculateAfterPulseTime(double apFraction, std::vector<double> apTime, std::vector<double> apProb);
22  void DetectAfterPulses(DS::MC* mc, DS::PMTInfo* pmtinfo, uint64_t eventTime);
23 
24  void SetD(std::string param, double value);
25  void SetI(std::string param, int value);
26 
27  protected:
28  std::string fDAQ;
29  int fAPFlag;
30  double fTriggerWindow;
31 
32  double fDefaultAPFraction;
33  std::vector<double> fDefaultAPTime;
34  std::vector<double> fDefaultAPProb;
35 
36  std::map<std::string, double> fModelAPFractionMap;
37  std::map<std::string, std::vector<double>> fModelAPTimeMap;
38  std::map<std::string, std::vector<double>> fModelAPProbMap;
39 
40  std::vector<RAT::PMTTime*> fPMTTime;
41  std::vector<RAT::PMTCharge*> fPMTCharge;
42 
43  std::map<int, std::vector<uint64_t>> fAfterPulseTime;
44 };
45 
46 } // namespace RAT
47 
48 #endif
Definition: AfterPulseProc.hh:12
void SetI(std::string param, int value)
Definition: AfterPulseProc.cc:168
virtual Processor::Result DSEvent(DS::Root *ds)
Definition: AfterPulseProc.cc:82
void SetD(std::string param, double value)
Definition: AfterPulseProc.cc:176
Definition: MC.hh:30
Definition: PMTInfo.hh:19
Definition: Root.hh:39
Definition: Run.hh:22
Definition: Processor.hh:36
Result
Definition: Processor.hh:59
Definition: CCCrossSecMessenger.hh:29