27#ifndef SHIPDATA_SHIPSTACK_H_
28#define SHIPDATA_SHIPSTACK_H_
35#include "FairGenericStack.h"
38#include "TMCProcess.h"
73 void PushTrack(Int_t toBeDone, Int_t parentID, Int_t pdgCode, Double_t px,
74 Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy,
75 Double_t vz, Double_t time, Double_t polx, Double_t poly,
76 Double_t polz, TMCProcess proc, Int_t& ntr, Double_t weight,
79 void PushTrack(Int_t toBeDone, Int_t parentID, Int_t pdgCode, Double_t px,
80 Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy,
81 Double_t vz, Double_t time, Double_t polx, Double_t poly,
82 Double_t polz, TMCProcess proc, Int_t& ntr, Double_t weight,
83 Int_t is, Int_t secondParentId)
override;
140 void Reset()
override;
148 virtual void Print(Int_t iVerbose = 0)
const;
void AddPoint(DetectorId iDet)
Int_t GetCurrentParentTrackNumber() const override
std::map< std::pair< Int_t, Int_t >, Int_t > fPointsMap
Int_t GetCurrentTrackNumber() const override
void SetCurrentTrack(Int_t iTrack) override
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) override
Int_t fNTracks
Number of entries in fParticles.
void StoreSecondaries(Bool_t choice=kTRUE)
std::map< Int_t, Int_t > fIndexMap
Int_t GetNtrack() const override
void StoreMothers(Bool_t choice=kTRUE)
TParticle * GetParticle(Int_t trackId) const
Int_t fIndex
Number of entries in fTracks.
TParticle * GetCurrentTrack() const override
TClonesArray * GetListOfParticles()
virtual void Print(Int_t iVerbose=0) const
std::map< Int_t, Bool_t >::iterator fStoreIter
void UpdateTrackIndex(TRefArray *detArray=0) override
void FillTrackArray() override
Int_t GetNprimary() const override
Bool_t fStoreSecondaries
Used for merging.
TParticle * PopPrimaryForTracking(Int_t iPrim) override
TParticle * PopNextTrack(Int_t &iTrack) override
Int_t fNParticles
Number of primary particles.
ShipStack(const ShipStack &)=delete
std::map< Int_t, Bool_t > fStoreMap
void SetMinPoints(Int_t min)
void SetEnergyCut(Double_t eMin)
Int_t fNPrimaries
Index of current track.
std::stack< TParticle * > fStack
std::map< Int_t, Int_t >::iterator fIndexIter
TClonesArray * fParticles
std::vector< ShipMCTrack > * fTracks
ShipStack & operator=(const ShipStack &)=delete
void AddParticle(TParticle *part)