Concrete implementation of particles stack used by the TMCManager.
Definition at line 35 of file TMCManagerStack.h.
Public Member Functions | |
TMCManagerStack () | |
Default constructor. More... | |
virtual | ~TMCManagerStack ()=default |
Destructor. More... | |
const TGeoBranchArray * | GetCurrentGeoState () const |
Get current particle's geometry status. More... | |
Int_t | GetCurrentParentTrackNumber () const override final |
Number of the parent of the current track. More... | |
TParticle * | GetCurrentTrack () const override final |
Current track. More... | |
Int_t | GetCurrentTrackNumber () const override final |
Current track number. More... | |
const TGeoBranchArray * | GetGeoState (Int_t trackId) const |
Get particle's geometry status by trackId. More... | |
Int_t | GetNprimary () const override final |
Get number of primaries on current sub-stack. More... | |
Int_t | GetNtrack () const override final |
Get number of tracks on current sub-stack. More... | |
const TMCParticleStatus * | GetParticleStatus (Int_t trackId) const |
Get TMCParticleStatus by trackId. More... | |
Int_t | GetStackedNprimary () const |
Get only the number of currently stacked primaries. More... | |
Int_t | GetStackedNtrack () const |
Get only the number of currently stacked tracks. More... | |
TParticle * | PopNextTrack (Int_t &itrack) override final |
Pop next track. More... | |
TParticle * | PopPrimaryForTracking (Int_t i) override final |
Pop i'th primar, that does not mean that this primariy also has ID==i. More... | |
TParticle * | PopPrimaryForTracking (Int_t i, Int_t &itrack) |
Pop i'th primary, that does not mean that this primariy also has ID==i. More... | |
void | PushTrack (Int_t toBeDone, Int_t parent, Int_t pdg, Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy, Double_t vz, Double_t tof, Double_t polx, Double_t poly, Double_t polz, TMCProcess mech, Int_t &ntr, Double_t weight, Int_t is) override final |
This will just forward the call to the fUserStack's PushTrack. More... | |
void | SetCurrentTrack (Int_t trackId) override final |
Set the current track id from the outside and forward this to the user's stack. More... | |
Public Member Functions inherited from TVirtualMCStack | |
TVirtualMCStack () | |
Default constructor. More... | |
virtual | ~TVirtualMCStack () |
Destructor. More... | |
virtual Int_t | GetCurrentParentTrackNumber () const =0 |
Number of the parent of the current track. More... | |
virtual TParticle * | GetCurrentTrack () const =0 |
Current track particle. More... | |
virtual Int_t | GetCurrentTrackNumber () const =0 |
Current track number. More... | |
virtual Int_t | GetNprimary () const =0 |
Total number of primary tracks. More... | |
virtual Int_t | GetNtrack () const =0 |
Total number of tracks. More... | |
virtual TParticle * | PopNextTrack (Int_t &itrack)=0 |
The stack has to provide two pop mechanisms: The first pop mechanism required. More... | |
virtual TParticle * | PopPrimaryForTracking (Int_t i)=0 |
The second pop mechanism required. More... | |
virtual void | PushTrack (Int_t toBeDone, Int_t parent, Int_t pdg, Double_t px, Double_t py, Double_t pz, Double_t e, Double_t vx, Double_t vy, Double_t vz, Double_t tof, Double_t polx, Double_t poly, Double_t polz, TMCProcess mech, Int_t &ntr, Double_t weight, Int_t is)=0 |
Create a new particle and push into stack;. More... | |
virtual void | SetCurrentTrack (Int_t trackNumber)=0 |
Set the current track number. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. More... | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. More... | |
virtual void | Copy (TObject &object) const |
Copy this to obj. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More... | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
void | InvertBit (UInt_t f) |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. More... | |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More... | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual void | Print (Option_t *option="") const |
This method must be overridden when a class wants to print itself. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
Private Member Functions | |
void | ConnectTrackContainers (std::vector< TParticle * > *particles, std::vector< std::unique_ptr< TMCParticleStatus > > *tracksStatus, TGeoMCBranchArrayContainer *branchArrayContainer, Int_t *totalNPrimaries, Int_t *totalNTracks) |
Set the pointer to vector with all particles and status. More... | |
Bool_t | HasTrackId (Int_t trackId) const |
Check whether track trackId exists. More... | |
void | PushPrimaryTrackId (Int_t trackId) |
Push primary id to be processed. More... | |
void | PushSecondaryTrackId (Int_t trackId) |
Push secondary id to be processed. More... | |
void | ResetInternals () |
Reset internals, clear engine stack and fParticles and reset buffered values. More... | |
void | SetUserStack (TVirtualMCStack *stack) |
Set the user stack. More... | |
Private Attributes | |
TGeoMCBranchArrayContainer * | fBranchArrayContainer |
Storage of TGeoBranchArray pointers. More... | |
Int_t | fCurrentTrackId |
Pointer to current track. More... | |
std::vector< TParticle * > * | fParticles |
All tracks linked from the TMCManager. More... | |
std::vector< std::unique_ptr< TMCParticleStatus > > * | fParticlesStatus |
All TMCParticleStatus linked from the TMCManager. More... | |
std::stack< Int_t > | fPrimariesStack |
IDs of primaries to be tracked. More... | |
std::stack< Int_t > | fSecondariesStack |
IDs of secondaries to be trackedk. More... | |
Int_t * | fTotalNPrimaries |
Number of all primaries ever pushed linked from the TMCManager. More... | |
Int_t * | fTotalNTracks |
Number of all tracks ever pushed linked from the TMCManager. More... | |
TVirtualMCStack * | fUserStack |
Pointer to user stack for forwarding PushTrack calls. More... | |
Friends | |
class | TMCManager |
Additional Inherited Members | |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
void | MakeZombie () |
#include <TMCManagerStack.h>
TMCManagerStack::TMCManagerStack | ( | ) |
Default constructor.
Definition at line 31 of file TMCManagerStack.cxx.
|
virtualdefault |
Destructor.
|
private |
Set the pointer to vector with all particles and status.
Connect an engine's stack to the centrally managed vectors.
Definition at line 259 of file TMCManagerStack.cxx.
const TGeoBranchArray * TMCManagerStack::GetCurrentGeoState | ( | ) | const |
Get current particle's geometry status.
Definition at line 226 of file TMCManagerStack.cxx.
|
finaloverridevirtual |
Number of the parent of the current track.
Implements TVirtualMCStack.
Definition at line 175 of file TMCManagerStack.cxx.
|
finaloverridevirtual |
|
finaloverridevirtual |
Current track number.
Implements TVirtualMCStack.
Definition at line 165 of file TMCManagerStack.cxx.
const TGeoBranchArray * TMCManagerStack::GetGeoState | ( | Int_t | trackId | ) | const |
Get particle's geometry status by trackId.
Definition at line 213 of file TMCManagerStack.cxx.
|
finaloverridevirtual |
Get number of primaries on current sub-stack.
Implements TVirtualMCStack.
Definition at line 130 of file TMCManagerStack.cxx.
|
finaloverridevirtual |
Get number of tracks on current sub-stack.
Implements TVirtualMCStack.
Definition at line 110 of file TMCManagerStack.cxx.
const TMCParticleStatus * TMCManagerStack::GetParticleStatus | ( | Int_t | trackId | ) | const |
Get TMCParticleStatus by trackId.
Definition at line 200 of file TMCManagerStack.cxx.
Int_t TMCManagerStack::GetStackedNprimary | ( | ) | const |
Get only the number of currently stacked primaries.
Get number of primaries on current sub-stack.
Definition at line 140 of file TMCManagerStack.cxx.
Int_t TMCManagerStack::GetStackedNtrack | ( | ) | const |
Get only the number of currently stacked tracks.
Definition at line 120 of file TMCManagerStack.cxx.
Check whether track trackId exists.
Definition at line 236 of file TMCManagerStack.cxx.
Pop i'th primar, that does not mean that this primariy also has ID==i.
Pop i'th primary; that does not mean that this primariy has ID==i.
Implements TVirtualMCStack.
Definition at line 79 of file TMCManagerStack.cxx.
Pop i'th primary, that does not mean that this primariy also has ID==i.
Pop i'th primary; that does not mean that this primariy has ID==i.
including actual index
Definition at line 91 of file TMCManagerStack.cxx.
Push primary id to be processed.
Push primary track id to be processed.
Definition at line 276 of file TMCManagerStack.cxx.
Push secondary id to be processed.
Push secondary track id to be processed.
Definition at line 286 of file TMCManagerStack.cxx.
|
finaloverridevirtual |
This will just forward the call to the fUserStack's PushTrack.
Create a new particle and push into stack;
Implements TVirtualMCStack.
Definition at line 42 of file TMCManagerStack.cxx.
|
private |
Reset internals, clear engine stack and fParticles and reset buffered values.
Definition at line 296 of file TMCManagerStack.cxx.
Set the current track id from the outside and forward this to the user's stack.
Implements TVirtualMCStack.
Definition at line 186 of file TMCManagerStack.cxx.
|
private |
Set the user stack.
Definition at line 249 of file TMCManagerStack.cxx.
|
friend |
Definition at line 115 of file TMCManagerStack.h.
|
private |
Storage of TGeoBranchArray pointers.
Definition at line 146 of file TMCManagerStack.h.
|
private |
Pointer to current track.
Definition at line 134 of file TMCManagerStack.h.
|
private |
All tracks linked from the TMCManager.
Definition at line 142 of file TMCManagerStack.h.
|
private |
All TMCParticleStatus linked from the TMCManager.
Definition at line 144 of file TMCManagerStack.h.
|
private |
IDs of primaries to be tracked.
Definition at line 148 of file TMCManagerStack.h.
|
private |
IDs of secondaries to be trackedk.
Definition at line 150 of file TMCManagerStack.h.
|
private |
Number of all primaries ever pushed linked from the TMCManager.
Definition at line 138 of file TMCManagerStack.h.
|
private |
Number of all tracks ever pushed linked from the TMCManager.
Definition at line 140 of file TMCManagerStack.h.
|
private |
Pointer to user stack for forwarding PushTrack calls.
Definition at line 136 of file TMCManagerStack.h.