60 #include "G4HCofThisEvent.hh"
61 #include "G4VHitsCollection.hh"
77 : runAct(0),genAction(0),hitsfile(0),pmtfile(0)
219 G4cout <<
" Number of hits in LXe: " << S_hits <<
G4endl;
254 G4cout <<
" Total energy in LXe: "
275 G4cout <<
" Average light collection time: "
277 G4cout <<
" Number of PMT hits (photoelectron equivalent): "
323 std::stringstream
sss;
325 filename = sss.str();
331 (*hitsfile) <<
"Evt Eprim Etot LXe LXeTime PMT PMTTime Seed1 Seed2 First Flags"
333 (*hitsfile) <<
"# MeV MeV hits ns hits ns hit"
343 (*hitsfile) << std::setiosflags(std::ios::fixed)
344 << std::setprecision(4)
351 << std::setiosflags(std::ios::scientific)
352 << std::setprecision(2)
355 << std::setiosflags(std::ios::fixed)
356 << std::setprecision(4)
359 << *(
seeds+1) <<
"\t"
369 G4cout <<
" Event summary in file " << filename <<
G4endl;
373 G4int firstparticleIndex = 0;
379 firstparticleIndex = 5;
391 long seed2 = *(
seeds+1);
432 std::stringstream
sss;
434 filename = sss.str();
446 (*pmtfile) <<
"Hit# X, mm Y, mm Z, mm" <<
G4endl;
447 (*pmtfile) << std::setiosflags(std::ios::fixed)
448 << std::setprecision(3)
453 x = ((*hits)[i]->GetPos()).
x()/
mm;
454 y = ((*hits)[i]->GetPos()).
y()/
mm;
455 z = ((*hits)[i]->GetPos()).
z()/
mm;
456 (*pmtfile) << i <<
"\t"
476 G4cout <<
" " << P_hits <<
" PMT hits in " << filename <<
G4endl;
489 G4int n_trajectories = 0;
491 if(trajContainer) n_trajectories = trajContainer->
entries();
492 for (
G4int i=0; i<n_trajectories; i++) {
G4int GetCollectionID(G4String colName)
static G4RunManager * GetRunManager()
const G4UserRunAction * GetUserRunAction() const
G4bool FillH2(G4int id, G4double xvalue, G4double yvalue, G4double weight=1.0)
virtual void BeginOfEventAction(const G4Event *)
static constexpr double MeV
virtual void DrawAllHits()
G4String firstParticleName
static constexpr double keV
static constexpr double mm
G4int ApplyCommand(const char *aCommand)
G4double GetEnergyPrimary() const
G4String GetsavehitsFile() const
virtual void EndOfEventAction(const G4Event *)
void writePmtHitsToFile(const DMXPmtHitsCollection *)
static G4UImanager * GetUIpointer()
virtual ~DMXEventAction()
G4HCofThisEvent * GetHCofThisEvent() const
static G4VVisManager * GetConcreteInstance()
G4bool FillNtupleDColumn(G4int id, G4double value)
G4String GetsavepmtFile() const
const DMXPrimaryGeneratorAction * genAction
virtual void DrawTrajectory() const
static const char sss[MAX_N_PAR+2]
G4double GetCharge() const
G4double totEnergyNeutrons
G4TrajectoryContainer * GetTrajectoryContainer() const
static constexpr double nanosecond
const long * GetEventSeeds() const
G4VHitsCollection * GetHC(G4int i)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
G4String GetParticleName() const
static G4SDManager * GetSDMpointer()
void drawTracks(const G4Event *)
G4GLOB_DLL std::ostream G4cout
DMXEventActionMessenger * eventMessenger
void writeScintHitsToFile()
const DMXRunAction * runAct
G4bool FillH1(G4int id, G4double value, G4double weight=1.0)
const G4VUserPrimaryGeneratorAction * GetUserPrimaryGeneratorAction() const