54 : fRecorder(r),fSaveThreshold(0),fScintCollID(-1),fPMTCollID(-1),fVerbose(0),
55 fPMTThreshold(1),fForcedrawphotons(false),fForcenophotons(false)
90 G4int n_trajectories = 0;
91 if (trajectoryContainer) n_trajectories = trajectoryContainer->
entries();
95 for (
G4int i=0; i<n_trajectories; i++){
118 int n_hit = scintHC->
entries();
123 for(
int i=0;i<n_hit;i++){
124 edep=(*scintHC)[i]->GetEdep();
125 eventInformation->
IncEDep(edep);
126 eWeightPos += (*scintHC)[i]->GetPos()*edep;
130 eventInformation->
SetPosMax(posMax,edep);
133 if(eventInformation->
GetEDep()==0.){
134 if(fVerbose>0)
G4cout<<
"No hits in the scintillator this event."<<
G4endl;
138 eWeightPos/=eventInformation->
GetEDep();
141 G4cout <<
"\tEnergy weighted position of hits in LXe : "
146 G4cout <<
"\tTotal energy deposition in scintillator : "
155 for(
G4int i=0;i<pmts;i++){
156 eventInformation->
IncHitCount((*pmtHC)[i]->GetPhotonCount());
157 reconPos+=(*pmtHC)[i]->GetPMTPos()*(*pmtHC)[i]->GetPhotonCount();
158 if((*pmtHC)[i]->GetPhotonCount()>=fPMTThreshold){
162 (*pmtHC)[i]->SetDrawit(
false);
169 G4cout <<
"\tReconstructed position of hits in LXe : "
179 G4cout <<
"\tNumber of photons that hit PMTs in this event : "
181 G4cout <<
"\tNumber of PMTs above threshold("<<fPMTThreshold<<
") : "
183 G4cout <<
"\tNumber of photons produced by scintillation in this event : "
185 G4cout <<
"\tNumber of photons produced by cerenkov in this event : "
187 G4cout <<
"\tNumber of photons absorbed (OpAbsorption) in this event : "
189 G4cout <<
"\tNumber of photons absorbed at boundaries (OpBoundary) in "
192 G4cout <<
"Unacounted for photons in this event : "
201 if(fSaveThreshold&&eventInformation->
GetPhotonCount() <= fSaveThreshold)
G4VUserEventInformation * GetUserInformation() const
static constexpr double mm
G4VHitsCollection * GetHC(G4int i)
G4int GetCollectionID(G4String colName)
Definition of the LXeRecorderBase class.
static G4VVisManager * GetConcreteInstance()
void SetRandomNumberStore(G4bool flag)
G4TrajectoryContainer * GetTrajectoryContainer() const
virtual ~LXeEventAction()
G4GLOB_DLL std::ostream G4cout
void SetSaveThreshold(G4int)
virtual void EndOfEventAction(const G4Event *)
Definition of the LXeEventAction class.
void SetUserInformation(G4VUserEventInformation *anInfo)
Definition of the LXeTrajectory class.
Definition of the LXePMTHit class.
virtual void rndmSaveThisEvent()
LXeEventAction(LXeRecorderBase *)
virtual void RecordBeginOfEvent(const G4Event *)
static G4RunManager * GetRunManager()
static G4SDManager * GetSDMpointer()
static G4EventManager * GetEventManager()
virtual void DrawAllHits()
virtual void DrawTrajectory() const
G4HCofThisEvent * GetHCofThisEvent() const
void SetRandomNumberStoreDir(const G4String &dir)
virtual void BeginOfEventAction(const G4Event *)
void SetForceNoDrawTrajectory(G4bool b)
Definition of the LXeScintHit class.
static constexpr double keV
virtual void RecordEndOfEvent(const G4Event *)
G4String GetParticleName() const
void SetForceDrawTrajectory(G4bool b)