WCSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WCSimWCAddDarkNoise.hh
Go to the documentation of this file.
1 #ifndef WCSimWCAddDarkNoise_h
2 #define WCSimWCAddDarkNoise_h 1
3 
6 #include "G4VDigitizerModule.hh"
7 #include "WCSimWCDigi.hh"
8 #include "WCSimWCHit.hh"
9 #include "WCSimRootOptions.hh"
10 #include "globals.hh"
11 #include "Randomize.hh"
12 #include <map>
13 #include <vector>
14 #include <utility>
15 
16 class WCSimWCAddDarkNoise : public G4VDigitizerModule
17 {
18 public:
19 
20  // WCSimWCAddDarkNoise(G4String name, WCSimDetectorConstruction*);
21  WCSimWCAddDarkNoise(G4String name, WCSimDetectorConstruction*, G4String);
23 
24 public:
25  void AddDarkNoise();
26  void AddDarkNoiseBeforeDigi(WCSimWCDigitsCollection* WCHCPMT, double num1 ,double num2);
27  void FindDarkNoiseRanges(WCSimWCDigitsCollection* WCHCPMT, double width);
28  //As it inherits from G4VDigitizerModule it needs a digitize class. Not used
29  void Digitize() { }
30  void SetDarkRate(double idarkrate){ PMTDarkRate = idarkrate; }
31  double GetDarkRate() { return PMTDarkRate; }
32  void SetConversion(double iconvrate){ ConvRate = iconvrate; }
33  void SetDarkMode(int imode){DarkMode = imode;}
34  void SetDarkHigh(double idarkhigh){DarkHigh = idarkhigh;}
35  void SetDarkLow(double idarklow){DarkLow = idarklow;}
36  void SetDarkWindow(int idarkwindow){DarkWindow = idarkwindow;}
37  int GetDarkWindow(){return (int)(DarkWindow);}
38  void SaveOptionsToOutput(WCSimRootOptions * wcopt, string tag);
39 
40 private:
41  void ReInitialize() { ranges.clear(); result.clear();}
42  void SetPMTDarkDefaults();
43 
45  double PMTDarkRate; // kHz
46  double ConvRate; // kHz
47  double DarkHigh; //ns
48  double DarkLow; //ns
49  double DarkWindow; //ns
50  int DarkMode;
52 
54  G4String detectorElement;
55 
56  std::vector<std::pair<double, double> > ranges;
57  std::vector<std::pair<double, double> > result;
58 
59 };
60 
61 #endif
62 
63 
64 
65 
66 
67 
68 
69 
std::vector< std::pair< double, double > > ranges
void AddDarkNoiseBeforeDigi(WCSimWCDigitsCollection *WCHCPMT, double num1, double num2)
void SetDarkMode(int imode)
void SetDarkWindow(int idarkwindow)
WCSimDarkRateMessenger * DarkRateMessenger
G4TDigiCollection< WCSimWCDigi > WCSimWCDigitsCollection
Definition: WCSimWCDigi.hh:214
void SetDarkLow(double idarklow)
WCSimDetectorConstruction * myDetector
void SetConversion(double iconvrate)
void SetDarkRate(double idarkrate)
std::vector< std::pair< double, double > > result
WCSimWCAddDarkNoise(G4String name, WCSimDetectorConstruction *, G4String)
void FindDarkNoiseRanges(WCSimWCDigitsCollection *WCHCPMT, double width)
void SetDarkHigh(double idarkhigh)
void SaveOptionsToOutput(WCSimRootOptions *wcopt, string tag)