|
FairShip
|
#include <ShipStack.h>


Public Member Functions | |
| ShipStack (Int_t size=100) | |
| ~ShipStack () 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 |
| 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) override |
| TParticle * | PopNextTrack (Int_t &iTrack) override |
| TParticle * | PopPrimaryForTracking (Int_t iPrim) override |
| void | SetCurrentTrack (Int_t iTrack) override |
| Int_t | GetNtrack () const override |
| Int_t | GetNprimary () const override |
| TParticle * | GetCurrentTrack () const override |
| Int_t | GetCurrentTrackNumber () const override |
| Int_t | GetCurrentParentTrackNumber () const override |
| void | AddParticle (TParticle *part) |
| void | FillTrackArray () override |
| void | UpdateTrackIndex (TRefArray *detArray=0) override |
| void | Reset () override |
| void | Register () override |
| 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 | AddPoint (DetectorId iDet) |
| void | AddPoint (DetectorId iDet, Int_t iTrack) |
| TParticle * | GetParticle (Int_t trackId) const |
| TClonesArray * | GetListOfParticles () |
Private Member Functions | |
| void | SelectTracks () |
| ShipStack (const ShipStack &)=delete | |
| ShipStack & | operator= (const ShipStack &)=delete |
Private Attributes | |
| std::stack< TParticle * > | fStack |
| TClonesArray * | fParticles |
| std::vector< ShipMCTrack > * | fTracks |
| std::map< Int_t, Bool_t > | fStoreMap |
| std::map< Int_t, Bool_t >::iterator | fStoreIter |
| std::map< Int_t, Int_t > | fIndexMap |
| std::map< Int_t, Int_t >::iterator | fIndexIter |
| std::map< std::pair< Int_t, Int_t >, Int_t > | fPointsMap |
| Int_t | fCurrentTrack |
| Int_t | fNPrimaries |
| Index of current track. | |
| Int_t | fNParticles |
| Number of primary particles. | |
| Int_t | fNTracks |
| Number of entries in fParticles. | |
| Int_t | fIndex |
| Number of entries in fTracks. | |
| Bool_t | fStoreSecondaries |
| Used for merging. | |
| Int_t | fMinPoints |
| Double32_t | fEnergyCut |
| Bool_t | fStoreMothers |
Definition at line 48 of file ShipStack.h.
|
explicit |
Default constructor param size Estimated track number
Definition at line 32 of file ShipStack.cxx.
|
override |
|
privatedelete |
| void ShipStack::AddParticle | ( | TParticle * | part | ) |
Add a TParticle to the fParticles array
Definition at line 193 of file ShipStack.cxx.
| void ShipStack::AddPoint | ( | DetectorId | iDet | ) |
Increment number of points for the current track in a given detector
| iDet | Detector unique identifier |
Definition at line 348 of file ShipStack.cxx.
| void ShipStack::AddPoint | ( | DetectorId | iDet, |
| Int_t | iTrack | ||
| ) |
Increment number of points for an arbitrary track in a given detector
| iDet | Detector unique identifier |
| iTrack | Track number |
Definition at line 357 of file ShipStack.cxx.
|
override |
Fill the MCTrack output array, applying filter criteria
Definition at line 203 of file ShipStack.cxx.
|
override |
Get the track number of the parent of the current track Declared in TVirtualMCStack
Definition at line 368 of file ShipStack.cxx.
|
override |
Get the current track's particle Declared in TVirtualMCStack
Definition at line 183 of file ShipStack.cxx.
|
inlineoverride |
Get the number of the current track Declared in TVirtualMCStack
Definition at line 123 of file ShipStack.h.
|
inline |
Definition at line 169 of file ShipStack.h.
|
inlineoverride |
Get number of primary tracks Declared in TVirtualMCStack
Definition at line 113 of file ShipStack.h.
|
inlineoverride |
| TParticle * ShipStack::GetParticle | ( | Int_t | trackId | ) | const |
Accessors
Definition at line 379 of file ShipStack.cxx.
|
override |
Get next particle for tracking from the stack. Declared in TVirtualMCStack
| iTrack | index of popped track (return) |
Definition at line 134 of file ShipStack.cxx.
|
override |
Get primary particle by index for tracking from stack Declared in TVirtualMCStack
| iPrim | index of primary particle |
Definition at line 158 of file ShipStack.cxx.
|
virtual |
Output to screen
| iVerbose | 0=events summary, 1=track info |
Definition at line 335 of file ShipStack.cxx.
|
override |
Add a TParticle to the stack. Declared in TVirtualMCStack
| toBeDone | Flag for tracking |
| parentID | Index of mother particle |
| pdgCode | Particle type (PDG encoding) |
| px,py,pz | Momentum components at start vertex [GeV] |
| e | Total energy at start vertex [GeV] |
| vx,vy,vz | Coordinates of start vertex [cm] |
| time | Start time of track [s] |
| polx,poly,polz | Polarisation vector |
| proc | Production mechanism (VMC encoding) |
| ntr | Track number (filled by the stack) |
| weight | Particle weight |
| is | Generation status code (whatever that means) |
Definition at line 69 of file ShipStack.cxx.
|
override |
Definition at line 80 of file ShipStack.cxx.
|
override |
Register the MCTrack array to the Root Manager
Definition at line 329 of file ShipStack.cxx.
|
override |
Resets arrays and stack and deletes particles and tracks
Definition at line 315 of file ShipStack.cxx.
|
private |
Mark tracks for output using selection criteria
Definition at line 389 of file ShipStack.cxx.
|
inlineoverride |
Set the current track number Declared in TVirtualMCStack
| iTrack | track number |
Definition at line 103 of file ShipStack.h.
|
inline |
Definition at line 153 of file ShipStack.h.
|
inline |
Definition at line 152 of file ShipStack.h.
|
inline |
Definition at line 154 of file ShipStack.h.
|
inline |
|
override |
Update the track index in the MCTracks and MCPoints
Definition at line 255 of file ShipStack.cxx.
|
private |
Some indizes and counters
Definition at line 195 of file ShipStack.h.
|
private |
Definition at line 204 of file ShipStack.h.
|
private |
Number of entries in fTracks.
Definition at line 199 of file ShipStack.h.
|
private |
Definition at line 189 of file ShipStack.h.
|
private |
STL map from particle index to track index
Definition at line 188 of file ShipStack.h.
|
private |
Definition at line 203 of file ShipStack.h.
|
private |
Number of primary particles.
Definition at line 197 of file ShipStack.h.
|
private |
Index of current track.
Definition at line 196 of file ShipStack.h.
|
private |
Number of entries in fParticles.
Definition at line 198 of file ShipStack.h.
|
private |
Array of TParticles (contains all TParticles put into or created by the transport
Definition at line 178 of file ShipStack.h.
|
private |
STL map from track index and detector ID to number of MCPoints
Definition at line 192 of file ShipStack.h.
|
private |
STL stack (FILO) used to handle the TParticles for tracking
Definition at line 173 of file ShipStack.h.
|
private |
Definition at line 185 of file ShipStack.h.
|
private |
STL map from particle index to storage flag
Definition at line 184 of file ShipStack.h.
|
private |
Definition at line 205 of file ShipStack.h.
|
private |
Used for merging.
Variables defining the criteria for output selection
Definition at line 202 of file ShipStack.h.
|
private |
Array of FairMCTracks containing the tracks written to the output
Definition at line 181 of file ShipStack.h.