44#include "FairGenericStack.h"
47#include "TClonesArray.h"
48#include "TVirtualMCStack.h"
118 Int_t secondParentId);
175 virtual void Reset();
183 virtual void PrintStack(Int_t iVerbose)
const;
213 std::stack<TParticle*> fStack;
218 TClonesArray* fParticles;
221 TClonesArray* fTracks;
224 std::map<Int_t, Bool_t> fStoreMap;
225 std::map<Int_t, Bool_t>::iterator fStoreIter;
228 std::map<Int_t, Int_t> fIndexMap;
229 std::map<Int_t, Int_t>::iterator fIndexIter;
232 std::map<int, std::array<int, kLAST + 1>> fPointsMap;
243 Bool_t fStoreSecondaries;
245 Double32_t fEnergyCut;
246 Bool_t fStoreMothers;
DetectorId
Unique identifier for all R3B detector systems.
virtual void PrintStack(Int_t iVerbose) const
Output to screen.
virtual void UpdateTrackIndex(TRefArray *detArray)
Update the track index in the MCTracks and MCPoints.
virtual Int_t GetCurrentTrackNumber() const
Get the number of the current track Declared in TVirtualMCStack.
virtual void PushTrack(Int_t toBeDone, Int_t parentID, Int_t pdgCode, Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy, Double_t vz, Double_t time, Double_t polx, Double_t poly, Double_t polz, TMCProcess proc, Int_t &ntr, Double_t weight, Int_t is)
Add a TParticle to the stack.
virtual Int_t GetCurrentParentTrackNumber() const
Get the track number of the parent of the current track Declared in TVirtualMCStack.
virtual void Register()
Register the MCTrack array to the Root Manager.
virtual void AddParticle(TParticle *part)
Add a TParticle to the fParticles array.
void SetMinPoints(Int_t min)
virtual TParticle * PopPrimaryForTracking(Int_t iPrim)
Get primary particle by index for tracking from stack Declared in TVirtualMCStack.
TClonesArray * GetListOfParticles()
virtual void Reset()
Resets arrays and stack and deletes particles and tracks.
virtual Int_t GetNtrack() const
Get total number of tracks Declared in TVirtualMCStack.
void StoreSecondaries(Bool_t choice=kTRUE)
Modifiers.
virtual TParticle * GetCurrentTrack() const
Get the current track's particle Declared in TVirtualMCStack.
void StoreMothers(Bool_t choice=kTRUE)
virtual TParticle * PopNextTrack(Int_t &iTrack)
Get next particle for tracking from the stack.
void AddPoint(DetectorId iDet)
Increment number of points for the current track in a given detector.
virtual void SetCurrentTrack(Int_t iTrack)
Set the current track number Declared in TVirtualMCStack.
void SetEnergyCut(Double_t eMin)
virtual ~R3BStack()
Destructor.
TParticle * GetParticle(Int_t trackId) const
Accessors.
R3BStack(Int_t size=100)
Default constructor param size Estimated track number.
virtual void FillTrackArray()
Fill the MCTrack output array, applying filter criteria.
virtual Int_t GetNprimary() const
Get number of primary tracks Declared in TVirtualMCStack.