DrumPhotonGenerator.h
Go to the documentation of this file.
1 
9 #ifndef _DrumPhotonGeneratorOG_DrumPhotonGenerator_h_
10 #define _DrumPhotonGeneratorOG_DrumPhotonGenerator_h_
11 
12 #include <fwk/VModule.h>
13 
14 #include <utl/CoordinateSystemPtr.h>
15 #include <utl/ShadowPtr.h>
16 
17 #include <map>
18 #include <vector>
19 #include <fstream>
20 #include <string>
21 
22 
23 namespace utl {
24  class Point;
25  class Vector;
26  class RandomEngine;
27 }
28 
29 namespace fdet {
30  class Telescope;
31 }
32 
33 namespace evt {
34  class Event;
35 }
36 
37 namespace fevt {
38  class Telescope;
39 }
40 
41 
42 namespace DrumPhotonGeneratorOG {
43 
55 
56  enum Status {
60  };
61 
62  struct CalibResult {
63  double calib;
64  double calibErr;
65  int nPhotGen;
68  };
69 
70  public:
73 
77 
78  private:
79  int Index(const int eyeId, const int telId) const { return eyeId*100 + telId; }
80 
81  bool DoDrum(evt::Event& event);
84 
85  std::map<int, CalibResult> CalibrateTelescope(fevt::Telescope& tel);
86 
87  private:
88  // drum mode
89  double fMinAccuracy;
91  //double fWeightDrumPhotons; // unused. LN.
92  double fDrumNCos;
97  unsigned int fMinBin;
98  unsigned int fMaxBin;
99  double fRDiaMin;
100  std::string fDrumDataOutName;
101 
103 
104  std::map<int, unsigned int> fTotalGeneratedPhotonsPerTelescope;
105  bool fInit;
107 
108  REGISTER_MODULE("DrumPhotonGeneratorOG", DrumPhotonGenerator);
109 
110  };
111 
112 }
113 
114 
115 #endif
116 
117 // Configure (x)emacs for this file ...
118 // Local Variables:
119 // mode: c++
120 // compile-command: "make -C .. -k"
121 // End:
int Index(const int eyeId, const int telId) const
std::map< int, unsigned int > fTotalGeneratedPhotonsPerTelescope
std::map< int, CalibResult > CalibrateTelescope(fevt::Telescope &tel)
fwk::VModule::ResultFlag Run(evt::Event &event)
Run: invoked once per event.
Wraps the random number engine used to generate distributions.
Definition: RandomEngine.h:27
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
Module interface.
Definition: VModule.h:53
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
REGISTER_MODULE("DrumPhotonGeneratorOG", DrumPhotonGenerator)
Fluorescence Detector Telescope Event.
Simulates drum photons entering the FD telescope.
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)

, generated on Tue Sep 26 2023.