19 #include <TClonesArray.h> 21 #include <TVirtualMCStack.h> 31 AliStack(Int_t size,
const char* name =
"");
36 {st.
Copy(*
this);
return(*
this);}
40 virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg,
41 const Float_t *pmom,
const Float_t *vpos,
const Float_t *
polar,
42 Float_t tof, TMCProcess mech, Int_t &ntr,
43 Float_t weight, Int_t is);
45 virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg,
46 Double_t px, Double_t py, Double_t pz, Double_t e,
47 Double_t vx, Double_t vy, Double_t
vz, Double_t tof,
48 Double_t polx, Double_t poly, Double_t polz,
49 TMCProcess mech, Int_t &ntr, Double_t weight,
58 Bool_t
PurifyKine(Float_t rmax = -1., Float_t zmax = -1.);
63 void Clean(Int_t size = 0);
64 void Reset(Int_t size = 0);
79 TParticle*
Particle(Int_t
id, Bool_t useInEmbedding=kFALSE);
80 Int_t
GetPrimary(Int_t
id, Bool_t useInEmbedding=kFALSE);
83 Int_t
TreeKEntry(Int_t
id, Bool_t useInEmbedding=kFALSE)
const;
101 Bool_t
KeepPhysics(
const TParticle* part, Float_t rmax = -1, Float_t zmax = -1.);
104 void Copy(TObject &st)
const;
virtual Int_t GetCurrentParentTrackNumber() const
void SetHighWaterMark(Int_t hgwmk)
TArrayI fParticleFileMap
Map of particles in the supporting TClonesArray.
Int_t fNtrack
Particle stack.
Bool_t KeepPhysics(const TParticle *part, Float_t rmax=-1, Float_t zmax=-1.)
AliStack & operator=(const AliStack &st)
virtual Int_t GetCurrentTrackNumber() const
TArrayI fTrackLabelMap
Next free position in the particle buffer.
TParticle * fCurrentTrack
Pointer to current particle for writing.
static const Char_t * fgkEmbedPathsKey
Bool_t IsSecondaryFromWeakDecay(Int_t index, Bool_t useInEmbedding=kFALSE)
virtual TParticle * PopPrimaryForTracking(Int_t i)
Int_t fHgwmk
Last primary track returned from the stack.
void ResetArrays(Int_t size)
static const char * GetEmbeddingBKGPathsKey()
TTree * fTreeK
Pointer to particle currently transported.
Int_t GetNprimary() const
Bool_t fMCEmbeddingFlag
Map of track labels.
void SetNtrack(Int_t ntrack)
Bool_t IsPhysicalPrimary(Int_t i, Bool_t useInEmbedding=kFALSE)
virtual Int_t GetNtrack() const
Int_t TreeKEntry(Int_t id, Bool_t useInEmbedding=kFALSE) const
void ConnectTree(TTree *tree)
void Copy(TObject &st) const
virtual void SetCurrentTrack(Int_t track)
virtual TParticle * PopNextTrack(Int_t &track)
Int_t GetPrimary(Int_t id, Bool_t useInEmbedding=kFALSE)
Int_t GetNtransported() const
const TObjArray * Particles() const
virtual TParticle * GetCurrentTrack() const
void KeepTrack(Int_t itrack)
TParticle * fParticleBuffer
Int_t TrackLabel(Int_t label) const
Bool_t IsSecondaryFromMaterial(Int_t index, Bool_t useInEmbedding=kFALSE)
virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg, const Float_t *pmom, const Float_t *vpos, const Float_t *polar, Float_t tof, TMCProcess mech, Int_t &ntr, Float_t weight, Int_t is)
void DumpLoadedStack() const
TParticle * Particle(Int_t id, Bool_t useInEmbedding=kFALSE)
Bool_t IsStable(Int_t pdg) const
TParticle * GetParticleMapEntry(Int_t id) const
Int_t fLoadPoint
Last track purified.
Int_t fCurrentPrimary
Last track returned from the stack.
Bool_t PurifyKine(Float_t rmax=-1., Float_t zmax=-1.)
void SetMCEmbeddingFlag(Bool_t v=kTRUE)
void FlagTrack(Int_t track)
TObjArray fParticleMap
Pointer to list of particles.
void DumpPart(Int_t i) const
static TParticle * fgDummyParticle
Flag that this is a top stack of embedded MC.
TParticle * ParticleFromTreeK(Int_t id, Bool_t useInEmbedding=kFALSE) const
TParticle * GetNextParticle()
Bool_t GetMCEmbeddingFlag() const