X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliStack.h;h=521a1366e3f298ab5d5d991de6eaa10adc888280;hb=121f462184d18f5298cb0d1997e7ee1e9b736616;hp=2b204fb7d69de18ed0e0f473a26b93c28e0359d9;hpb=ae96e41f39de23c8a700677bdde3dfb0fe3f2ed6;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliStack.h b/STEER/AliStack.h index 2b204fb7d69..521a1366e3f 100644 --- a/STEER/AliStack.h +++ b/STEER/AliStack.h @@ -15,13 +15,13 @@ class TObjArray; class TParticle; class TString; class TTree; +#include #include #include class AliHeader; -#include "AliConfig.h" -enum {kKeepBit=1, kDaughtersBit=2, kDoneBit=4}; +enum {kKeepBit=1, kDaughtersBit=2, kDoneBit=4, kTransportBit=BIT(14)}; class AliStack : public TVirtualMCStack { @@ -37,7 +37,7 @@ class AliStack : public TVirtualMCStack // methods virtual void PushTrack(Int_t done, Int_t parent, Int_t pdg, - Float_t *pmom, Float_t *vpos, Float_t *polar, + 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); @@ -54,8 +54,8 @@ class AliStack : public TVirtualMCStack void ConnectTree(TTree* tree); Bool_t GetEvent(); - void PurifyKine(); - void ReorderKine(); + Bool_t PurifyKine(); + Bool_t ReorderKine(); void FinishEvent(); void FlagTrack(Int_t track); void KeepTrack(Int_t itrack); @@ -74,29 +74,30 @@ class AliStack : public TVirtualMCStack Int_t GetNprimary() const; virtual Int_t GetCurrentTrackNumber() const; virtual Int_t GetCurrentParentTrackNumber() const; - TObjArray* Particles() const; TParticle* Particle(Int_t id); Int_t GetPrimary(Int_t id); - TTree* TreeK(); + TTree* TreeK() const {return fTreeK;} TParticle* ParticleFromTreeK(Int_t id) const; Int_t TreeKEntry(Int_t id) const; Bool_t IsPhysicalPrimary(Int_t i); - Int_t TrackLabel(Int_t label) {return fTrackLabelMap[label];} + Int_t TrackLabel(Int_t label) const {return fTrackLabelMap[label];} Int_t* TrackLabelMap() {return fTrackLabelMap.GetArray();} - + const TObjArray* Particles() const; + protected: // methods void CleanParents(); void ResetArrays(Int_t size); + TParticle* GetParticleMapEntry(Int_t id) const; TParticle* GetNextParticle(); - Bool_t KeepPhysics(TParticle* part); + Bool_t KeepPhysics(const TParticle* part); Bool_t IsStable(Int_t pdg) const; private: void Copy(TObject &st) const; // data members - TClonesArray *fParticles; //! Pointer to list of particles - TObjArray *fParticleMap; //! Map of particles in the supporting TClonesArray + TClonesArray fParticles; //! Pointer to list of particles + TObjArray fParticleMap; //! Map of particles in the supporting TClonesArray TArrayI fParticleFileMap; // Map for particle ids TParticle *fParticleBuffer; //! Pointer to current particle for writing TParticle *fCurrentTrack; //! Pointer to particle currently transported @@ -128,7 +129,12 @@ inline Int_t AliStack::GetNprimary() const inline Int_t AliStack::GetCurrentTrackNumber() const { return fCurrent; } -inline TObjArray* AliStack::Particles() const -{ return fParticleMap; } +inline const TObjArray* AliStack::Particles() const +{ return &fParticleMap; } + +// inline protected + +inline TParticle* AliStack::GetParticleMapEntry(Int_t id) const +{ return (TParticle*) fParticleMap.At(id); } #endif //ALI_STACK_H