8 #ifndef GARANA_G4TREE_H_ 9 #define GARANA_G4TREE_H_ 25 virtual const UInt_t
NSim()
const = 0;
26 virtual const UInt_t
NPoints(
const UInt_t& iparticle)
const = 0;
27 virtual const UInt_t
NRegions(
const UInt_t& iparticle)
const = 0;
28 virtual const Int_t
Region(
const UInt_t& iparticle,
const UInt_t& iregion)
const = 0;
29 virtual const vector<const TLorentzVector*>*
SimMomEnter(
const UInt_t& iparticle)
const = 0;
30 virtual const vector<const TLorentzVector*>*
SimMomExit(
const UInt_t& iparticle)
const = 0;
31 virtual const vector<const TLorentzVector*>*
SimPosEnter(
const UInt_t& iparticle)
const = 0;
32 virtual const vector<const TLorentzVector*>*
SimPosExit(
const UInt_t& iparticle)
const = 0;
33 virtual const TLorentzVector*
SimMomEnter(
const UInt_t& iparticle,
const UInt_t& iregion)
const = 0;
34 virtual const TLorentzVector*
SimMomExit(
const UInt_t& iparticle,
const UInt_t& iregion)
const = 0;
35 virtual const TLorentzVector*
SimPosEnter(
const UInt_t& iparticle,
const UInt_t& iregion)
const = 0;
36 virtual const TLorentzVector*
SimPosExit(
const UInt_t& iparticle,
const UInt_t& iregion)
const = 0;
37 virtual const bool IsPrimary(
const UInt_t& iparticle)
const = 0;
38 virtual const Int_t
PDG(
const UInt_t& iparticle)
const = 0;
39 virtual const int ParentPDG(
const UInt_t& iparticle)
const = 0;
40 virtual const int ProgenitorPDG(
const UInt_t& iparticle)
const = 0;
41 virtual const int TrackID(
const UInt_t& iparticle)
const = 0;
42 virtual const int ParentTrackID(
const UInt_t& iparticle)
const = 0;
44 virtual const Int_t
ProcessI(
const UInt_t& iparticle)
const = 0;
45 virtual const Int_t
ProcessF(
const UInt_t& iparticle)
const = 0;
64 const TLorentzVector*
SimMomBegin(
const UInt_t& iparticle)
const;
65 const TLorentzVector*
SimMomEnd(
const UInt_t& iparticle)
const;
66 const TLorentzVector*
SimPosBegin(
const UInt_t& iparticle)
const;
67 const TLorentzVector*
SimPosEnd(
const UInt_t& iparticle)
const;
bool IsStoppedCalo(const UInt_t &iparticle) const
did the G4Particle stop/decay in any active ECal volume(s)?
virtual const int TrackID(const UInt_t &iparticle) const =0
G4 track ID (can be <0 if it fell below trking threshold)
virtual const int ProgenitorPDG(const UInt_t &iparticle) const =0
PDG of primary that led this one.
virtual const UInt_t NSim() const =0
number of particles
virtual const UInt_t NRegions(const UInt_t &iparticle) const =0
number of regions traversed by particle
virtual const Int_t PDG(const UInt_t &iparticle) const =0
particle PDG code
bool IsCathodeCrosser(const UInt_t &iparticle) const
did the G4Particle cross the TPC central cathode?
bool IsContainedCaloEvent() const
do all particles produced in any active ECal volume in this event remain there?
bool IsContainedTPCPrimaries() const
do all primaries produced in any TPC drift volume in this event remain in either volume?
const TLorentzVector * SimPosEnd(const UInt_t &iparticle) const
virtual const vector< const TLorentzVector * > * SimPosEnter(const UInt_t &iparticle) const =0
particle 4-position at entry point, all regions
virtual const vector< const TLorentzVector * > * SimMomEnter(const UInt_t &iparticle) const =0
particle 4-momentum at entry point, all regions
virtual const int ParentPDG(const UInt_t &iparticle) const =0
parent particle's PDG code
bool IsStoppedTPC(const UInt_t &iparticle) const
did the G4Particle stop/decay in any TPC drift volume(s)?
const TLorentzVector * SimMomBegin(const UInt_t &iparticle) const
virtual const vector< const TLorentzVector * > * SimPosExit(const UInt_t &iparticle) const =0
particle 4-position at exit point, all regions
bool HasPassedCalo(const UInt_t &iparticle) const
did the G4Particle pass through any active ECal volume(s)?
const TLorentzVector * SimPosBegin(const UInt_t &iparticle) const
vector< UInt_t > * fG4TruthIndex
virtual const bool IsPrimary(const UInt_t &iparticle) const =0
did particle come from generator?
virtual const int ProgenitorTrackID(const UInt_t &iparticle) const =0
G4 track ID of primary that led this one.
bool IsContainedCaloPrimaries() const
do all primaries produced in any active ECal volume in this event remain there?
virtual const Int_t ProcessI(const UInt_t &iparticle) const =0
code for process that created this one
bool IsContainedCalo(const UInt_t &iparticle) const
if the G4Particle was produced in any active ECal volume, does it remain there?
bool HasPassedTPC(const UInt_t &iparticle) const
did the G4Particle pass through any TPC drift volume(s)?
vector< UInt_t > * fG4FSIndex
bool IsContainedTPCEvent() const
do all particles produced in any TPC drift volume in this event remain in either volume?
const TLorentzVector * SimMomEnd(const UInt_t &iparticle) const
virtual const Int_t ProcessF(const UInt_t &iparticle) const =0
code for process that killed this one
UInt_t const GetTruthIndex(UInt_t iparticle) const
index in gen tree subentry to truth match to this
virtual const vector< const TLorentzVector * > * SimMomExit(const UInt_t &iparticle) const =0
particle 4-momentum at exit point, all regions
virtual const int ParentTrackID(const UInt_t &iparticle) const =0
G4 track ID of parent particle.
bool IsContainedTPC(const UInt_t &iparticle) const
if the G4Particle was produced in any TPC drift volume, does it remain in either drift volume...
virtual const UInt_t NPoints(const UInt_t &iparticle) const =0
number of G4 steps (i.e. trajectory points)
virtual const Int_t Region(const UInt_t &iparticle, const UInt_t &iregion) const =0
region number
const UInt_t NPrimary() const