PandaRoot
PndStack Class Reference

#include <PndStack.h>

Inheritance diagram for PndStack:

Public Member Functions

 PndStack (Int_t size=100)
 
virtual ~PndStack ()
 
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)
 
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, Int_t secondParentId)
 
virtual TParticle * PopNextTrack (Int_t &iTrack)
 
virtual TParticle * PopPrimaryForTracking (Int_t iPrim)
 
virtual void SetCurrentTrack (Int_t iTrack)
 
virtual Int_t GetNtrack () const
 
virtual Int_t GetNprimary () const
 
virtual TParticle * GetCurrentTrack () const
 
virtual Int_t GetCurrentTrackNumber () const
 
virtual Int_t GetCurrentParentTrackNumber () const
 
virtual void AddParticle (TParticle *part)
 
virtual void FillTrackArray ()
 
virtual void UpdateTrackIndex (TRefArray *detArray)
 
virtual void Reset ()
 
virtual void Register ()
 
virtual void Print (Int_t iVerbose=0) const
 
void StoreSecondaries (Bool_t choice=kTRUE)
 
void SetMinPoints (Int_t min)
 
void SetEnergyCut (Double_t eMin)
 
void StoreMothers (Bool_t choice=kTRUE)
 
void SetPersistence (Bool_t choice)
 
void AddPoint (DetectorId iDet)
 
void AddPoint (DetectorId iDet, Int_t iTrack)
 
TParticle * GetParticle (Int_t trackId) const
 
TClonesArray * GetListOfParticles ()
 

Detailed Description

Definition at line 42 of file PndStack.h.

Constructor & Destructor Documentation

◆ PndStack()

PndStack::PndStack ( Int_t  size = 100)

Default constructor param size Estimated track number

Referenced by GetListOfParticles().

◆ ~PndStack()

virtual PndStack::~PndStack ( )
virtual

Destructor

Member Function Documentation

◆ AddParticle()

virtual void PndStack::AddParticle ( TParticle *  part)
virtual

Add a TParticle to the fParticles array

Referenced by GetCurrentTrackNumber().

◆ AddPoint() [1/2]

void PndStack::AddPoint ( DetectorId  iDet)

Increment number of points for the current track in a given detector

Parameters
iDetDetector unique identifier

Referenced by SetPersistence().

◆ AddPoint() [2/2]

void PndStack::AddPoint ( DetectorId  iDet,
Int_t  iTrack 
)

Increment number of points for an arbitrary track in a given detector

Parameters
iDetDetector unique identifier
iTrackTrack number

◆ FillTrackArray()

virtual void PndStack::FillTrackArray ( )
virtual

Fill the MCTrack output array, applying filter criteria

Referenced by GetCurrentTrackNumber().

◆ GetCurrentParentTrackNumber()

virtual Int_t PndStack::GetCurrentParentTrackNumber ( ) const
virtual

Get the track number of the parent of the current track Declared in TVirtualMCStack

Referenced by GetCurrentTrackNumber().

◆ GetCurrentTrack()

virtual TParticle* PndStack::GetCurrentTrack ( ) const
virtual

Get the current track's particle Declared in TVirtualMCStack

Referenced by GetNprimary().

◆ GetCurrentTrackNumber()

virtual Int_t PndStack::GetCurrentTrackNumber ( ) const
inlinevirtual

Get the number of the current track Declared in TVirtualMCStack

Definition at line 112 of file PndStack.h.

References AddParticle(), FillTrackArray(), GetCurrentParentTrackNumber(), Print(), Register(), Reset(), and UpdateTrackIndex().

112 { return fCurrentTrack; }

◆ GetListOfParticles()

TClonesArray* PndStack::GetListOfParticles ( )
inline

Definition at line 159 of file PndStack.h.

References PndStack().

159 { return fParticles; }

◆ GetNprimary()

virtual Int_t PndStack::GetNprimary ( ) const
inlinevirtual

Get number of primary tracks Declared in TVirtualMCStack

Definition at line 102 of file PndStack.h.

References GetCurrentTrack().

102 { return fNPrimaries; }

◆ GetNtrack()

virtual Int_t PndStack::GetNtrack ( ) const
inlinevirtual

Get total number of tracks Declared in TVirtualMCStack

Definition at line 97 of file PndStack.h.

97 { return fNParticles; }

◆ GetParticle()

TParticle* PndStack::GetParticle ( Int_t  trackId) const

Accessors

Referenced by SetPersistence().

◆ PopNextTrack()

virtual TParticle* PndStack::PopNextTrack ( Int_t &  iTrack)
virtual

Get next particle for tracking from the stack. Declared in TVirtualMCStack

Parameters
iTrackindex of popped track (return)
Returns
Pointer to the TParticle of the track

◆ PopPrimaryForTracking()

virtual TParticle* PndStack::PopPrimaryForTracking ( Int_t  iPrim)
virtual

Get primary particle by index for tracking from stack Declared in TVirtualMCStack

Parameters
iPrimindex of primary particle
Returns
Pointer to the TParticle of the track

◆ Print()

virtual void PndStack::Print ( Int_t  iVerbose = 0) const
virtual

Output to screen

Parameters
iVerbose0=events summary, 1=track info

Referenced by GetCurrentTrackNumber().

◆ PushTrack() [1/2]

virtual void PndStack::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 
)
virtual

Add a TParticle to the stack. Declared in TVirtualMCStack

Parameters
toBeDoneFlag for tracking
parentIDIndex of mother particle
pdgCodeParticle type (PDG encoding)
px,py,pzMomentum components at start vertex [GeV]
eTotal energy at start vertex [GeV]
vx,vy,vzCoordinates of start vertex [cm]
timeStart time of track [s]
polx,poly,polzPolarisation vector
procProduction mechanism (VMC encoding)
ntrTrack number (filled by the stack)
weightParticle weight
isGeneration status code (whatever that means)

◆ PushTrack() [2/2]

virtual void PndStack::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,
Int_t  secondParentId 
)
virtual

◆ Register()

virtual void PndStack::Register ( )
virtual

Register the MCTrack array to the Root Manager

Referenced by GetCurrentTrackNumber().

◆ Reset()

virtual void PndStack::Reset ( )
virtual

Resets arrays and stack and deletes particles and tracks

Referenced by GetCurrentTrackNumber().

◆ SetCurrentTrack()

virtual void PndStack::SetCurrentTrack ( Int_t  iTrack)
inlinevirtual

Set the current track number Declared in TVirtualMCStack

Parameters
iTracktrack number

Definition at line 92 of file PndStack.h.

92 { fCurrentTrack = iTrack; }

◆ SetEnergyCut()

void PndStack::SetEnergyCut ( Double_t  eMin)
inline

Definition at line 142 of file PndStack.h.

142 { fEnergyCut = eMin; }

◆ SetMinPoints()

void PndStack::SetMinPoints ( Int_t  min)
inline

Definition at line 141 of file PndStack.h.

References min().

141 { fMinPoints = min; }
friend F32vec4 min(const F32vec4 &a, const F32vec4 &b)
Definition: P4_F32vec4.h:24

◆ SetPersistence()

void PndStack::SetPersistence ( Bool_t  choice)
inline

Definition at line 144 of file PndStack.h.

References AddPoint(), choice, and GetParticle().

144 { fPersistence = choice; }
#define choice(c1, c2, c3)
Definition: PndCAMath.h:131

◆ StoreMothers()

void PndStack::StoreMothers ( Bool_t  choice = kTRUE)
inline

Definition at line 143 of file PndStack.h.

References choice.

143 { fStoreMothers = choice; }
#define choice(c1, c2, c3)
Definition: PndCAMath.h:131

◆ StoreSecondaries()

void PndStack::StoreSecondaries ( Bool_t  choice = kTRUE)
inline

Modifiers

Definition at line 140 of file PndStack.h.

References choice.

140 { fStoreSecondaries = choice; }
#define choice(c1, c2, c3)
Definition: PndCAMath.h:131

◆ UpdateTrackIndex()

virtual void PndStack::UpdateTrackIndex ( TRefArray *  detArray)
virtual

Update the track index in the MCTracks and MCPoints

Referenced by GetCurrentTrackNumber().


The documentation for this class was generated from the following file: