TelescopeSimulatorLX/TelescopeSimulator.h
Go to the documentation of this file.
1 #ifndef _TelescopeSimulatorLX_TelescopeSimulator_h_
2 #define _TelescopeSimulatorLX_TelescopeSimulator_h_
3 
5 #include "FDsimG4XMLManager.hh"
6 #include <utl/Photon.h>
7 
8 #include <fwk/VModule.h>
9 
10 #include <fevt/FEvent.h>
11 #include <fevt/Eye.h>
12 
13 #include <map>
14 #include <list>
15 #include <vector>
16 #include <string>
17 
18 
19 namespace fevt {
20  class FEvent;
21 }
22 
23 namespace evt {
24  class Event;
25 }
26 
27 class G4RunManager;
28 class G4UImanager;
29 
30 
31 namespace TelescopeSimulatorLX {
32 
33  class FDsimG4PrimaryGeneratorAction;
34  class FDsimG4EventAction;
35  class FDsimG4Write2ROOT;
36 
37 
50 
51  public:
52  typedef std::list<std::pair<utl::Photon, int>> PhotonList;
53  typedef PhotonList::iterator PhotonListIterator;
54  typedef PhotonList::const_iterator PhotonListConstIterator;
55 
58 
59  fwk::VModule::ResultFlag Init() override;
60  fwk::VModule::ResultFlag Run(evt::Event& event) override;
62 
63  public:
65  void SetG4PixelHit(const FDsimG4StoreOpticalHit& g4PixelHit);
66 
67  private:
68  void Reset();
70 
71  G4RunManager* fG4RunManager = nullptr;
72  G4UImanager* fG4UImanager = nullptr;
73 
78 
79  // Geant interface:
80 
81  std::vector<FDsimG4StoreOpticalHit*> fG4Photons;
82 
83  std::vector<FDsimG4StoreOpticalHit> fG4PixelHits;
84 
85  // general options
86 
87  std::string fG4LensProfile;
88  std::string fG4MirrorDataFile;
89  std::string fG4MacroFile;
90  std::string fROOTFile;
91  bool fG4Standalone = false;
92  float fWeightFactor = 0;
93 
94  int fVerbosityLevel = 0;
95 
96  bool fDrumMode = false;
97 
98  // sim. calibration
100 
101  REGISTER_MODULE("TelescopeSimulatorLX", TelescopeSimulator);
102 
104 
105  };
106 
107 }
108 
109 
110 #endif
fwk::VModule::ResultFlag Run(evt::Event &event) override
Run: invoked once per event.
REGISTER_MODULE("TelescopeSimulatorLX", TelescopeSimulator)
boost::filter_iterator< ComponentSelector, AllEyeIterator > EyeIterator
selective Eye iterators
Definition: FEvent.h:55
void FillTraces(const fevt::FEvent::EyeIterator &eIt, const fevt::Eye::TelescopeIterator &tIt)
boost::filter_iterator< ComponentSelector, AllTelescopeIterator > TelescopeIterator
selective Telescope iterators
Definition: FEvent/Eye.h:72
void SetG4PixelHit(const FDsimG4StoreOpticalHit &g4PixelHit)
Module interface.
Definition: VModule.h:53
fwk::VModule::ResultFlag Init() override
Initialize: invoked at beginning of run (NOT beginning of event)
Manager for specific FD description parameters in XML file.
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
std::list< std::pair< utl::Photon, int > > PhotonList
fwk::VModule::ResultFlag Finish() override
Finish: invoked at end of the run (NOT end of the event)

, generated on Tue Sep 26 2023.