FairRoot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FairStack Class Reference

#include <FairStack.h>

Inheritance diagram for FairStack:
FairGenericStack

Public Member Functions

 FairStack (Int_t size=100)
 
virtual ~FairStack ()
 
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=0)
 
virtual void Reset ()
 
virtual void Register ()
 
virtual void Print (Option_t *) const
 
void StoreSecondaries (Bool_t choice=kTRUE)
 
void SetMinPoints (Int_t min)
 
void SetEnergyCut (Double_t eMin)
 
void StoreMothers (Bool_t choice=kTRUE)
 
void AddPoint (DetectorId iDet)
 
void AddPoint (DetectorId iDet, Int_t iTrack)
 
TParticle * GetParticle (Int_t trackId) const
 
TClonesArray * GetListOfParticles ()
 
void SetParticleArray (TClonesArray *partArray)
 
void SetParticleArray (TClonesArray *partArray, Int_t partFrom, Int_t partTo)
 
virtual FairGenericStackCloneStack () const
 
- Public Member Functions inherited from FairGenericStack
 FairGenericStack ()
 
 FairGenericStack (Int_t size)
 
virtual ~FairGenericStack ()
 
void SetDetArrayList (TRefArray *detArray)
 
virtual void FinishPrimary ()
 
virtual void SetParticleArray (__attribute__((unused)) TClonesArray *partArray)
 
virtual void SetParticleArray (__attribute__((unused)) TClonesArray *partArray, __attribute__((unused)) Int_t partFrom, __attribute__((unused)) Int_t partTo)
 
virtual void FastSimMoveParticleTo (Double_t xx, Double_t yy, Double_t zz, Double_t tt, Double_t px, Double_t py, Double_t pz, Double_t en)
 
virtual void FastSimStopParticle ()
 
virtual void FastSimPushSecondary (Int_t parentID, Int_t pdgCode, Double_t xx, Double_t yy, Double_t zz, Double_t tt, Double_t px, Double_t py, Double_t pz, Double_t en, Double_t polx, Double_t poly, Double_t polz, TMCProcess proc, Double_t weight, Int_t is)
 
virtual std::tuple< Int_t,
Int_t, Int_t > 
FastSimGetMovedIndex ()
 
virtual void FastSimClearMovedIndex ()
 
template<typename T >
void FastSimUpdateTrackIndex (T *point, Int_t &iTrack)
 

Additional Inherited Members

- Protected Member Functions inherited from FairGenericStack
 FairGenericStack (const FairGenericStack &)
 
FairGenericStackoperator= (const FairGenericStack &)
 
 ClassDef (FairGenericStack, 1)
 
- Protected Attributes inherited from FairGenericStack
FairLoggerfLogger
 
TRefArray * fDetList
 
TIterator * fDetIter
 
Int_t fVerbose
 
std::map< Int_t, Int_t > fFSTrackMap
 
std::map< Int_t, Int_t >::iterator fFSTrackIter
 
Int_t fFSMovedIndex
 
Int_t fFSFirstSecondary
 
Int_t fFSNofSecondaries
 

Detailed Description

Definition at line 51 of file FairStack.h.

Constructor & Destructor Documentation

FairStack::FairStack ( Int_t  size = 100)

Default constructor param size Estimated track number

Definition at line 30 of file FairStack.cxx.

FairStack::~FairStack ( )
virtual

Destructor

Definition at line 51 of file FairStack.cxx.

Member Function Documentation

void FairStack::AddParticle ( TParticle *  part)
virtual

Add a TParticle to the fParticles array

Definition at line 189 of file FairStack.cxx.

void FairStack::AddPoint ( DetectorId  iDet)

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

Parameters
iDetDetector unique identifier

Definition at line 344 of file FairStack.cxx.

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

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

Parameters
iDetDetector unique identifier
iTrackTrack number

Definition at line 361 of file FairStack.cxx.

virtual FairGenericStack* FairStack::CloneStack ( ) const
inlinevirtual

Clone this object (used in MT mode only)

Reimplemented from FairGenericStack.

Definition at line 226 of file FairStack.h.

void FairStack::FillTrackArray ( )
virtual

Fill the MCTrack output array, applying filter criteria

Reimplemented from FairGenericStack.

Definition at line 198 of file FairStack.cxx.

Int_t FairStack::GetCurrentParentTrackNumber ( ) const
virtual

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

Definition at line 380 of file FairStack.cxx.

TParticle * FairStack::GetCurrentTrack ( ) const
virtual

Get the current track's particle Declared in TVirtualMCStack

Definition at line 180 of file FairStack.cxx.

Int_t FairStack::GetCurrentTrackNumber ( ) const
virtual

Get the number of the current track Declared in TVirtualMCStack

Definition at line 242 of file FairStack.cxx.

TClonesArray* FairStack::GetListOfParticles ( )
inlinevirtual

Reimplemented from FairGenericStack.

Definition at line 200 of file FairStack.h.

virtual Int_t FairStack::GetNprimary ( ) const
inlinevirtual

Get number of primary tracks Declared in TVirtualMCStack

Definition at line 144 of file FairStack.h.

virtual Int_t FairStack::GetNtrack ( ) const
inlinevirtual

Get total number of tracks Declared in TVirtualMCStack

Definition at line 139 of file FairStack.h.

TParticle * FairStack::GetParticle ( Int_t  trackId) const

Accessors

Definition at line 390 of file FairStack.cxx.

TParticle * FairStack::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

Definition at line 137 of file FairStack.cxx.

TParticle * FairStack::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

Definition at line 160 of file FairStack.cxx.

void FairStack::Print ( Option_t *  ) const
virtual

Output to screen

Parameters
iVerbose,:0=events summary, 1=track info

Definition at line 332 of file FairStack.cxx.

void FairStack::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)

Definition at line 63 of file FairStack.cxx.

void FairStack::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

Virtual method PushTrack. Add a TParticle to the stack. This function has an extra argument wrt to the function defined in the base class.

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)
secondparentIDused fot the index of mother of primery in the list

Implements FairGenericStack.

Definition at line 86 of file FairStack.cxx.

void FairStack::Register ( )
virtual

Register the MCTrack array to the Root Manager

Reimplemented from FairGenericStack.

Definition at line 323 of file FairStack.cxx.

void FairStack::Reset ( )
virtual

Resets arrays and stack and deletes particles and tracks

Reimplemented from FairGenericStack.

Definition at line 309 of file FairStack.cxx.

virtual void FairStack::SetCurrentTrack ( Int_t  iTrack)
inlinevirtual

Set the current track number Declared in TVirtualMCStack

Parameters
iTracktrack number

Definition at line 134 of file FairStack.h.

void FairStack::SetEnergyCut ( Double_t  eMin)
inline

Definition at line 184 of file FairStack.h.

void FairStack::SetMinPoints ( Int_t  min)
inline

Definition at line 183 of file FairStack.h.

void FairStack::SetParticleArray ( TClonesArray *  partArray)
inline

Definition at line 202 of file FairStack.h.

void FairStack::SetParticleArray ( TClonesArray *  partArray,
Int_t  partFrom,
Int_t  partTo 
)
inline

Definition at line 213 of file FairStack.h.

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

Definition at line 185 of file FairStack.h.

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

Modifiers

Definition at line 182 of file FairStack.h.

void FairStack::UpdateTrackIndex ( TRefArray *  detArray = 0)
virtual

Update the track index in the MCTracks and MCPoints

Reimplemented from FairGenericStack.

Definition at line 252 of file FairStack.cxx.


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