1 #ifndef _G4StationSimulatorOG_G4StationSimulator_h_
2 #define _G4StationSimulatorOG_G4StationSimulator_h_
6 #include <fwk/VModule.h>
8 #include <utl/TimeDistribution.h>
9 #include <utl/TabulatedFunction.h>
11 #include <sevt/SEvent.h>
12 #include <sevt/StationSimData.h>
14 #include <mevt/MEvent.h>
15 #include <mevt/Counter.h>
17 #include <cevt/CEvent.h>
36 namespace G4StationSimulatorOG {
44 class G4StationStackingAction;
140 void AddPhoton(
const int nPMT,
const double peTime)
const;
143 void AddUMDPhoton(
const size_t modId,
const size_t pixId,
const double peTime)
const;
void AddPhoton(const int nPMT, const double peTime) const
peTime in Auger units!
double fRangeCutOpticalPhoton
Station Level Simulated Data
Detector description interface for Station-related data.
utl::Particle & GetParticle() const
fwk::VModule::ResultFlag RunFull(evt::Event &event)
double fRangeCutMuonMinus
Counter level event data.
const mdet::Counter & GetDetectorUMDCounter() const
sevt::Station & GetEventStation() const
Describes a particle for Simulation.
void Set(utl::Particle &p) const
G4StationStackingAction * fStackingAction
REGISTER_MODULE("G4StationSimulatorOG", G4StationSimulator)
fwk::VModule::ResultFlag Init() override
Initialize: invoked at beginning of run (NOT beginning of event)
const sdet::Station * fDetectorStation
Geant4 Stepping user action class.
void Set(const sdet::Station &s) const
std::string fSimulatorSignature
const mdet::Counter * fDetectorUMDCounter
bool fDetectorConstructed
void Set(mevt::Counter &c) const
mevt::Counter & GetEventUMDCounter() const
utl::Particle * fParticle
void ConstructTraces(sevt::Station &station) const
const sdet::Station & GetDetectorStation() const
class that handles PMT hits
G4StationConstruction * fStationConstruction
class to hold data at Station level
G4VisManager * fVisManager
void AddInjectedParticle(const size_t modId, const size_t pixId, const utl::Particle &injectedParticle) const
class that handles hits to scintillator bars
fwk::VModule::ResultFlag Finish() override
Finish: invoked at end of the run (NOT end of the event)
G4RunManager * fRunManager
Geant4 Event user action class.
mevt::Counter * fEventUMDCounter
void FillRPCSimData(cevt::StationSimData &simData) const
Base class for inconsistency/illogicality exceptions.
bool IsMARTAEnabled() const
Root detector of the muon detector hierarchy.
G4StationSimulator()=default
Geant4 Stacking user action class.
fwk::VModule::ResultFlag Run(evt::Event &event) override
Run: invoked once per event.
SignalSeparationMode fSignalSeparationMode
ResultFlag
Flag returned by module methods to the RunController.
class that handles Geant4 SD Station simulation adopted from G4TankSimulator
void Set(const mdet::Counter &c) const
class that passes particles to Geant4 particle gun
std::map< int, double > AccumulatedWeights
fwk::VModule::ResultFlag RunFast(evt::Event &event)
sevt::Station * fEventStation
void Set(sevt::Station &s) const
bool IsUMDEnabled() const
int GetId() const
Station ID.
virtual ~G4StationSimulator()=default
void AddUMDPhoton(const size_t modId, const size_t pixId, const double peTime) const
bool OnlyMuonsInUMD() const