G4XTankSimulator.h
Go to the documentation of this file.
1 #ifndef _G4XTankSimulatorAG_G4XTankSimulator_h_
2 #define _G4XTankSimulatorAG_G4XTankSimulator_h_
3 
5 #include "G4XTankPMT.h"
6 
7 #include <fwk/VModule.h>
8 
9 #include <utl/TimeDistribution.h>
10 
11 #include <sevt/SEvent.h>
12 #include <sevt/StationSimData.h>
13 
14 
15 class G4RunManager;
16 class G4UImanager;
17 class G4VisManager;
18 
19 namespace sdet {
20  class Station;
21 }
22 
23 namespace G4XTankSimulatorAG {
24 
26  class G4XTankPMT;
27  class G4XTankStackingAction;
28  class G4XTankSteppingAction;
30 
31  // container of station id, weight
32  typedef std::map<int, double> AccumulatedWeights;
33 
34 
45  class G4XTankSimulator : public fwk::VModule {
46 
47  public:
49  virtual ~G4XTankSimulator() { }
50 
54 
55  static bool MuCaptureOn()
56  { return fgMuCapture; }
57 
58  private:
59  void ConstructTraces(sevt::Station& station) const;
60 
62  { return fCurrentDetectorStation; }
63 
65  { return fCurrentEventStationIt; }
66 
68  { return fCurrentParticleIt; }
69 
72 
76 
79 
83 
84  G4RunManager* fRunManager = nullptr;
85  G4UImanager* fUImanager = nullptr;
86  G4VisManager* fVisManager = nullptr;
89 
90  bool fGeoVisOn = false;
91  bool fTrajVisOn = false;
92  bool fUseGlobalPhysicsList = false;
93 
94  bool fDetectorConstructed = false;
95  bool fFastMode = false;
96  static bool fgMuCapture;
97 
100 
101  bool fStoreOnGrdPart = false;
102 
103  std::string fEventId;
104 
105  float fDepth = 0;
106 
108  friend class G4XTankFastCerenkov;
109  friend class G4XTankConstruction;
110  friend class G4XTankPMTAction;
111  friend class G4XTankPMT;
112  friend class G4XTankPhysicsList;
113 
114  REGISTER_MODULE("G4XTankSimulatorAG", G4XTankSimulator);
115 
116  };
117 
118 }
119 
120 #endif
Geant4 Stacking user action class.
static sevt::StationConstants::SignalComponent GetCurrentComponent()
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Detector description interface for Station-related data.
std::map< int, double > AccumulatedWeights
static sevt::SEvent::StationIterator fCurrentEventStationIt
G4XTankSteppingAction * fSteppingAction
class that handles Geant4 SD simulation
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
REGISTER_MODULE("G4XTankSimulatorAG", G4XTankSimulator)
static sevt::StationSimData::ParticleIterator GetCurrentParticleIt()
ParticleVector::iterator ParticleIterator
static const sdet::Station * GetCurrentDetectorStation()
class to hold data at Station level
Geant4 Stepping user action class.
ParticleVector::const_iterator ConstParticleIterator
static const sdet::Station * fCurrentDetectorStation
Module interface.
Definition: VModule.h:53
fwk::VModule::ResultFlag RunFull(evt::Event &theEvent)
class that passes particles to Geant4 particle gun
class that handles PMT hits
void ConstructTraces(sevt::Station &station) const
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
static sevt::SEvent::StationIterator GetCurrentEventStationIt()
fwk::VModule::ResultFlag Run(evt::Event &theEvent)
Run: invoked once per event.
static sevt::StationConstants::SignalComponent GetComponentId(const sevt::StationSimData::ConstParticleIterator currentParticle)
retrieve the station signal component from particle type
class that declares and registers the Geant4 physics classes
boost::indirect_iterator< InternalStationIterator, Station & > StationIterator
Iterator over all stations.
Definition: SEvent.h:52
fwk::VModule::ResultFlag RunFast(evt::Event &theEvent)
G4XTankStackingAction * fStackingAction
static sevt::StationSimData::ParticleIterator fCurrentParticleIt
G4XTankConstruction * fgTankConstruction

, generated on Tue Sep 26 2023.