WCSim
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
WCSimRootOptions.hh
Go to the documentation of this file.
1 #ifndef WCSim_RootOptions
2 #define WCSim_RootOptions
3 
5 //
6 // WCSim_RootOptions
7 //
8 // This class contains run option information
10 
11 #include "TObject.h"
12 #include "TClonesArray.h"
13 #include <string>
14 #include <map>
15 #include <iostream>
16 
17 #include "WCSimEnumerations.hh"
18 
19 class TDirectory;
20 using std::string;
21 using std::map;
22 
24 
26  double PMTDarkRate; // kHz
27  double ConvRate; // kHz
28  double DarkHigh; // ns
29  double DarkLow; // ns
30  double DarkWindow; // ns
31  int DarkMode;
33  PMTDarkRate(-999), ConvRate(-999), DarkHigh(-999), DarkLow(-999),
34  DarkWindow(-999), DarkMode(-999)
35  {}
36 };
37 
39 
40 class WCSimRootOptions : public TObject {
41 
42 public:
43 
45  virtual ~WCSimRootOptions();
46  void Print(Option_t *option = "") const;
47 
48  //WCSimDetector* gets
49  void SetDetectorName(string iDetectorName) {DetectorName = iDetectorName;}
50  void SetGeomHasOD(bool iGeomHasOD) {GeomHasOD = iGeomHasOD;}
51  void SetSavePi0(bool iSavePi0) {SavePi0 = iSavePi0;}
52  void SetPMTQEMethod(bool iPMTQEMethod) {PMTQEMethod = iPMTQEMethod;}
53  void SetPMTCollEff(bool iPMTCollEff) {PMTCollEff = iPMTCollEff;}
54  //WCSimDetector* sets
55  string GetDetectorName() {return DetectorName;}
56  bool GetGeomHasOD() {return GeomHasOD;}
57  bool GetSavePi0() {return SavePi0;}
58  int GetPMTQEMethod() {return PMTQEMethod;}
59  int GetPMTCollEff() {return PMTCollEff;}
60  //WCSimWCAddDarkNoise sets
61  void SetPMTDarkRate(string tag, double iPMTDarkRate) {DarkOptMap[tag].PMTDarkRate = iPMTDarkRate;}
62  void SetConvRate(string tag, double iConvRate) {DarkOptMap[tag].ConvRate = iConvRate;}
63  void SetDarkHigh(string tag, double iDarkHigh) {DarkOptMap[tag].DarkHigh = iDarkHigh;}
64  void SetDarkLow(string tag, double iDarkLow) {DarkOptMap[tag].DarkLow = iDarkLow;}
65  void SetDarkWindow(string tag, double iDarkWindow) {DarkOptMap[tag].DarkWindow = iDarkWindow;}
66  void SetDarkMode(string tag, int iDarkMode) {DarkOptMap[tag].DarkMode = iDarkMode;}
67  //WCSimWCAddDarkNoise gets
68  bool IsValidDarkTag(string tag) const;
69  double GetPMTDarkRate(string tag);
70  double GetConvRate(string tag);
71  double GetDarkHigh(string tag);
72  double GetDarkLow(string tag);
73  double GetDarkWindow(string tag);
74  int GetDarkMode(string tag);
75  //WCSimWCDigitizer* sets
76  void SetDigitizerClassName(string iDigitizerClassName) {DigitizerClassName = iDigitizerClassName;}
77  void SetDigitizerDeadTime(int iDigitizerDeadTime) {DigitizerDeadTime = iDigitizerDeadTime;}
78  void SetDigitizerIntegrationWindow(int iDigitizerIntegrationWindow) {DigitizerIntegrationWindow = iDigitizerIntegrationWindow;}
79  void SetDigitizerTimingPrecision(double iDigitizerTimingPrecision) {DigitizerTimingPrecision = iDigitizerTimingPrecision;}
80  void SetDigitizerPEPrecision(double iDigitizerPEPrecision) {DigitizerPEPrecision = iDigitizerPEPrecision;}
81  //WCSimWCDigitizer* gets
87  //WCSimWCTrigger* sets
88  void SetTriggerClassName(string itriggerClassName) {TriggerClassName = itriggerClassName;};
89  void SetMultiDigitsPerTrigger(bool imultiDigitsPerTrigger) {MultiDigitsPerTrigger = imultiDigitsPerTrigger;};
90  //ndigits
91  void SetNDigitsThreshold(int indigitsThreshold) {NDigitsThreshold = indigitsThreshold;};
92  void SetNDigitsWindow(int indigitsWindow) {NDigitsWindow = indigitsWindow;};
93  void SetNDigitsAdjustForNoise(bool indigitsAdjustForNoise) {NDigitsAdjustForNoise = indigitsAdjustForNoise;};
94  void SetNDigitsPreTriggerWindow(int indigitsPreTriggerWindow) {NDigitsPreTriggerWindow = indigitsPreTriggerWindow;};
95  void SetNDigitsPostTriggerWindow(int indigitsPostTriggerWindow) {NDigitsPostTriggerWindow = indigitsPostTriggerWindow;};
96  //savefailures
97  void SetSaveFailuresMode(int isaveFailuresMode) {SaveFailuresMode = isaveFailuresMode;};
98  void SetSaveFailuresTime(double isaveFailuresTime) {SaveFailuresTime = isaveFailuresTime;};
99  void SetSaveFailuresPreTriggerWindow(int isaveFailuresPreTriggerWindow) {SaveFailuresPreTriggerWindow = isaveFailuresPreTriggerWindow;};
100  void SetSaveFailuresPostTriggerWindow(int isaveFailuresPostTriggerWindow) {SaveFailuresPostTriggerWindow = isaveFailuresPostTriggerWindow;};
101  //WCSimWCTrigger* gets
104  //ndigits
110  //savefailures
115  //WCSimTuningParameters sets
116  void SetRayff(double iRayff) {Rayff = iRayff;}
117  void SetBsrff(double iBsrff) {Bsrff = iBsrff;}
118  void SetAbwff(double iAbwff) {Abwff = iAbwff;}
119  void SetRgcff(double iRgcff) {Rgcff = iRgcff;}
120  void SetMieff(double iMieff) {Mieff = iMieff;}
121  void SetTvspacing(double iTvspacing) {Tvspacing = iTvspacing;}
122  void SetTopveto(bool iTopveto) {Topveto = iTopveto;}
123  //WCSimTuningParameters gets
124  double GetRayff() {return Rayff;}
125  double GetBsrff() {return Bsrff;}
126  double GetAbwff() {return Abwff;}
127  double GetRgcff() {return Rgcff;}
128  double GetMieff() {return Mieff;}
129  double GetTvspacing() {return Tvspacing;}
130  bool GetTopveto() {return Topveto;}
131  //WCSimPhysicsListFactory sets
132  void SetPhysicsListName(string iPhysicsListName) {PhysicsListName = iPhysicsListName;}
133  //WCSimPhysicsListFactory gets
135  //WCSimPrimaryGeneratorAction sets
136  void SetVectorFileName(string iVectorFileName) {VectorFileName = iVectorFileName;}
137  void SetGeneratorType(string iGeneratorType) {GeneratorType = iGeneratorType;}
138  //WCSimPrimaryGeneratorAction gets
140  string GetGeneratorType() {return GeneratorType;}
141  //WCSimRandomParameters sets
142  void SetRandomSeed(int iRandomSeed) {RandomSeed = iRandomSeed;}
143  void SetRandomGenerator(WCSimRandomGenerator_t iRandomGenerator) {RandomGenerator = iRandomGenerator;}
144  //WCSimRandomParameters gets
145  int GetRandomSeed() {return RandomSeed;}
147 
148 private:
149  //WCSimDetector*
150  string DetectorName;
151  bool GeomHasOD;
152  bool SavePi0;
155 
156  //WCSimWCAddDarkNoise
157  map<string, WCSimDarkNoiseOptions> DarkOptMap;
158 
159  //WCSimWCDigitizer*
161  int DigitizerDeadTime; // ns
165 
166  //WCSimWCTrigger*
169  //ndigits
170  int NDigitsThreshold; // digitized hits
171  int NDigitsWindow; // ns
175  //savefailures
177  double SaveFailuresTime; // ns
180 
181  //WCSimTuningParameters
182  double Rayff;
183  double Bsrff;
184  double Abwff;
185  double Rgcff;
186  double Mieff;
187  double Tvspacing;
188  bool Topveto;
189 
190  //WCSimPhysicsListFactory
192 
193  //WCSimPrimaryGeneratorAction
196 
197  //WCSimRandomParameters
200 
201  ClassDef(WCSimRootOptions,4)
202 };
203 
204 
206 
207 #endif //WCSim_RootOptions
double GetDarkWindow(string tag)
void SetDarkHigh(string tag, double iDarkHigh)
void SetSavePi0(bool iSavePi0)
void SetMieff(double iMieff)
int GetSaveFailuresPostTriggerWindow()
string GetDigitizerClassName()
void SetDigitizerIntegrationWindow(int iDigitizerIntegrationWindow)
void SetDigitizerTimingPrecision(double iDigitizerTimingPrecision)
void SetNDigitsWindow(int indigitsWindow)
double GetDarkLow(string tag)
void SetGeomHasOD(bool iGeomHasOD)
int GetDarkMode(string tag)
void SetSaveFailuresPreTriggerWindow(int isaveFailuresPreTriggerWindow)
void SetSaveFailuresMode(int isaveFailuresMode)
WCSimRandomGenerator_t RandomGenerator
void SetDetectorName(string iDetectorName)
double GetPMTDarkRate(string tag)
void SetDarkLow(string tag, double iDarkLow)
string GetTriggerClassName()
void SetSaveFailuresPostTriggerWindow(int isaveFailuresPostTriggerWindow)
void SetNDigitsPreTriggerWindow(int indigitsPreTriggerWindow)
void SetTriggerClassName(string itriggerClassName)
void SetNDigitsThreshold(int indigitsThreshold)
void SetPMTQEMethod(bool iPMTQEMethod)
int GetDigitizerTimingPrecision()
void SetGeneratorType(string iGeneratorType)
void SetDigitizerDeadTime(int iDigitizerDeadTime)
void SetRandomSeed(int iRandomSeed)
enum ERandomGeneratorType WCSimRandomGenerator_t
void SetMultiDigitsPerTrigger(bool imultiDigitsPerTrigger)
void SetNDigitsPostTriggerWindow(int indigitsPostTriggerWindow)
void SetPMTDarkRate(string tag, double iPMTDarkRate)
void SetRgcff(double iRgcff)
void SetDarkWindow(string tag, double iDarkWindow)
map< string, WCSimDarkNoiseOptions > DarkOptMap
void SetPhysicsListName(string iPhysicsListName)
void SetVectorFileName(string iVectorFileName)
void Print(Option_t *option="") const
void SetBsrff(double iBsrff)
bool IsValidDarkTag(string tag) const
int GetSaveFailuresPreTriggerWindow()
void SetAbwff(double iAbwff)
void SetDigitizerClassName(string iDigitizerClassName)
virtual ~WCSimRootOptions()
int GetDigitizerIntegrationWindow()
WCSimRandomGenerator_t GetRandomGenerator()
void SetNDigitsAdjustForNoise(bool indigitsAdjustForNoise)
void SetDigitizerPEPrecision(double iDigitizerPEPrecision)
double GetSaveFailuresTime()
void SetSaveFailuresTime(double isaveFailuresTime)
void SetRayff(double iRayff)
void SetPMTCollEff(bool iPMTCollEff)
void SetTvspacing(double iTvspacing)
void SetConvRate(string tag, double iConvRate)
void SetRandomGenerator(WCSimRandomGenerator_t iRandomGenerator)
void SetDarkMode(string tag, int iDarkMode)
double GetDarkHigh(string tag)
double GetConvRate(string tag)
void SetTopveto(bool iTopveto)