7 #include <sevt/PMTSimData.h>
8 #include <sevt/SEvent.h>
9 #include <sevt/Station.h>
10 #include <sevt/StationSimData.h>
12 #include <utl/ErrorLogger.h>
13 #include <utl/Particle.h>
14 #include <utl/ParticleCases.h>
15 #include <utl/Trace.h>
17 #include <fwk/RunController.h>
20 #include <G4HCofThisEvent.hh>
21 #include <G4SDManager.hh>
23 #include <G4TouchableHistory.hh>
25 #include <G4Trajectory.hh>
26 #include <G4TrajectoryContainer.hh>
27 #include <G4VHitsCollection.hh>
32 using namespace G4TankSimulatorOG;
38 G4TankPMTAction::G4TankPMTAction(
const G4String name,
const int pmtIndex) :
39 G4VSensitiveDetector(name),
42 if (fPMTIndex < 1 || fPMTIndex > 3) {
43 FATAL(
"G4PMTAction() : invalid PMT index.");
48 dynamic_cast<G4TankSimulator*
>(&RunController::GetInstance().GetModule(
"G4TankSimulatorOG"));
55 const double time = theStep->GetPreStepPoint()->GetGlobalTime();
static int GetCurrentParticleId()
void AddPhoton(const int nPMT, const double peTime) const
#define FATAL(message)
Macro for logging fatal messages.
G4TankSimulator * fG4TankSimulator
class that handles Geant4 SD simulation
G4bool ProcessHits(G4Step *theStep, G4TouchableHistory *R0Hist)