19 #include "G4EventManager.hh"
20 #include "G4NeutrinoE.hh"
21 #include "G4NeutrinoMu.hh"
22 #include "G4NeutrinoTau.hh"
23 #include "G4AntiNeutrinoE.hh"
24 #include "G4AntiNeutrinoMu.hh"
25 #include "G4AntiNeutrinoTau.hh"
27 #include "G4Neutron.hh"
43 m_oneOverWeightNeutron(0),
44 m_oneOverWeightPhoton(0)
58 G4ClassificationOfNewTrack
67 const double safeCut = 0.00005;
68 double totalE = track->GetTotalEnergy();
69 if(
isGamma(track) && totalE < safeCut) {
74 G4Event*
ev = G4EventManager::GetEventManager()->GetNonconstCurrentEvent();
97 track->GetOriginTouchable()->GetVolume()->GetName().substr(0, 3) ==
"LAr" &&
114 if(track->GetParentID() == 0) {
118 if(primaryPartInfo) {
124 std::unique_ptr<TrackInformation> ti = std::make_unique<TrackInformation>(
part);
131 track->SetUserInformation(ti.release());
140 track->SetUserInformation(bi.release());
157 const G4DynamicParticle*
dp = track->GetDynamicParticle();
159 const G4PrimaryParticle* pp =
nullptr;
160 pp =
dp->GetPrimaryParticle();
164 ( pp->GetUserInformation() );
175 auto particleDef = track->GetParticleDefinition();
176 return (particleDef == G4NeutrinoE::NeutrinoEDefinition() ||
177 particleDef == G4AntiNeutrinoE::AntiNeutrinoEDefinition() ||
178 particleDef == G4NeutrinoMu::NeutrinoMuDefinition() ||
179 particleDef == G4AntiNeutrinoMu::AntiNeutrinoMuDefinition() ||
180 particleDef == G4NeutrinoTau::NeutrinoTauDefinition() ||
181 particleDef == G4AntiNeutrinoTau::AntiNeutrinoTauDefinition());