G4TankSimulatorOG/G4TankSimulator.h
Go to the documentation of this file.
1 #ifndef _G4TankSimulatorOG_G4TankSimulator_h_
2 #define _G4TankSimulatorOG_G4TankSimulator_h_
3 
4 #include "G4TankStackingAction.h"
5 
6 #include <fwk/VModule.h>
7 
8 #include <utl/TimeDistribution.h>
9 
10 #include <sevt/SEvent.h>
11 #include <sevt/StationSimData.h>
12 
13 class G4RunManager;
14 class G4UImanager;
15 class G4VisManager;
16 
17 namespace sdet {
18  class Station;
19 }
20 
21 namespace G4TankSimulatorOG {
22 
26  };
27 
29  class G4TankStackingAction;
31 
32  // container of station id, weight
33  typedef std::map<int, double> AccumulatedWeights;
34 
45  class G4TankSimulator : public fwk::VModule {
46 
47  public:
49  virtual ~G4TankSimulator();
50 
54 
55  static bool MuCaptureOn()
56  { return fgMuCapture; }
57 
58  private:
59  void ConstructTraces(sevt::Station& station) const;
60  void AddPhoton(const int nPMT, const double peTime) const;
61 
63  { return fCurrentDetectorStation; }
64 
66  { return fCurrentEventStationIt; }
67 
69  { return fCurrentParticleIt; }
70 
73 
77 
78  G4RunManager* fRunManager;
79  G4UImanager* fUImanager;
80  G4VisManager* fVisManager;
82 
83  bool fGeoVisOn;
84  bool fTrajVisOn;
87 
89  bool fFastMode;
90  static bool fgMuCapture;
91 
93 
94  std::string fEventId;
95 
96  friend class G4TankPrimaryGenerator;
97  friend class G4TankFastCerenkov;
98  friend class G4TankConstruction;
99  friend class G4TankPMTAction;
100  friend class G4TankPhysicsList;
101 
102  REGISTER_MODULE("G4TankSimulatorOG", G4TankSimulator);
103 
104  };
105 
106 }
107 
108 #endif
static sevt::SEvent::StationIterator GetCurrentEventStationIt()
Detector description interface for Station-related data.
void AddPhoton(const int nPMT, const double peTime) const
std::map< int, double > AccumulatedWeights
REGISTER_MODULE("G4TankSimulatorOG", G4TankSimulator)
static sevt::StationSimData::ParticleIterator GetCurrentParticleIt()
fwk::VModule::ResultFlag Finish()
Finish: invoked at end of the run (NOT end of the event)
void ConstructTraces(sevt::Station &station) const
class that passes particles to Geant4 particle gun
ParticleVector::iterator ParticleIterator
class to hold data at Station level
static sevt::SEvent::StationIterator fCurrentEventStationIt
fwk::VModule::ResultFlag Init()
Initialize: invoked at beginning of run (NOT beginning of event)
Module interface.
Definition: VModule.h:53
class that handles Geant4 SD simulation
fwk::VModule::ResultFlag RunFull(evt::Event &theEvent)
ResultFlag
Flag returned by module methods to the RunController.
Definition: VModule.h:60
static const sdet::Station * GetCurrentDetectorStation()
static sevt::StationSimData::ParticleIterator fCurrentParticleIt
boost::indirect_iterator< InternalStationIterator, Station & > StationIterator
Iterator over all stations.
Definition: SEvent.h:52
fwk::VModule::ResultFlag RunFast(evt::Event &theEvent)
fwk::VModule::ResultFlag Run(evt::Event &theEvent)
Run: invoked once per event.
Definition: XbArray.h:7
class that declares and registers the Geant4 physics classes

, generated on Tue Sep 26 2023.