ATLAS Offline Software
|
Instances of classes derived from this class are attached as UserInformation to G4Tracks. It extends G4VUserTrackInformation. The GenParticlePtr held by the VTrackInformation object can change during simulation (i.e. each time the track undergoes a non-destructive interaction). The member variables are m_classify: a classification of the current G4Track (Primary, Regenerated Primary, Registered Secondary, Secondary) and m_primaryGenParticle: a pointer to the GenParticle used to create the initial G4PrimaryParticle from which the current G4Track decends. More...
#include <VTrackInformation.h>
Public Types | |
enum | TrackClassification { Primary, RegeneratedPrimary, RegisteredSecondary, Secondary, BarcodeOnly } |
Public Member Functions | |
VTrackInformation (TrackClassification tc=Primary) | |
TrackClassification | GetClassification () const |
return the classification of the current G4Ttrack (Primary, Regenerated Primary, Registered Secondary, Secondary) More... | |
void | SetClassification (TrackClassification tc) |
update the classification of the currently tracked particle, usually called when a new G4Track is created or after it survives an interaction. More... | |
HepMC::ConstGenParticlePtr | GetPrimaryGenParticle () const |
return a pointer to the GenParticle used to create the initial G4PrimaryParticle from which the current G4Track decends. More... | |
HepMC::GenParticlePtr | GetPrimaryGenParticle () |
void | SetPrimaryGenParticle (HepMC::GenParticlePtr) |
set the pointer to the GenParticle used to create the initial G4PrimaryParticle from which the current G4Track decends. More... | |
virtual HepMC::ConstGenParticlePtr | GetCurrentGenParticle () const |
return a pointer to the GenParticle corresponding to the current G4Track (if there is one). More... | |
virtual HepMC::GenParticlePtr | GetCurrentGenParticle () |
virtual void | SetCurrentGenParticle (HepMC::GenParticlePtr) |
set the pointer to the GenParticle corresponding to the current G4Track. More... | |
virtual const ISF::ISFParticle * | GetBaseISFParticle () const |
return a pointer to the ISFParticle corresponding to the current G4Track. More... | |
virtual ISF::ISFParticle * | GetBaseISFParticle () |
virtual void | SetBaseISFParticle (ISF::ISFParticle *) |
set the pointer to the ISFParticle corresponding to the current G4Track. More... | |
virtual bool | GetReturnedToISF () const |
Is the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF? More... | |
virtual void | SetReturnedToISF (bool) |
Flag whether the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF. More... | |
virtual int | GetParticleBarcode () const =0 |
virtual int | GetParticleUniqueID () const =0 |
virtual int | GetParticleStatus () const =0 |
virtual void | Print () const |
Private Attributes | |
TrackClassification | m_classify |
HepMC::GenParticlePtr | m_primaryGenParticle {} |
Instances of classes derived from this class are attached as UserInformation to G4Tracks. It extends G4VUserTrackInformation. The GenParticlePtr held by the VTrackInformation object can change during simulation (i.e. each time the track undergoes a non-destructive interaction). The member variables are m_classify: a classification of the current G4Track (Primary, Regenerated Primary, Registered Secondary, Secondary) and m_primaryGenParticle: a pointer to the GenParticle used to create the initial G4PrimaryParticle from which the current G4Track decends.
Dervived classes also provide access to the GenParticle corresponding to the current G4Track (if one exists)
Definition at line 30 of file VTrackInformation.h.
Enumerator | |
---|---|
Primary | |
RegeneratedPrimary | |
RegisteredSecondary | |
Secondary | |
BarcodeOnly |
Definition at line 32 of file VTrackInformation.h.
VTrackInformation::VTrackInformation | ( | TrackClassification | tc = Primary | ) |
Definition at line 7 of file VTrackInformation.cxx.
|
inlinevirtual |
Reimplemented in TrackInformation, and TrackBarcodeInfo.
Definition at line 81 of file VTrackInformation.h.
|
inlinevirtual |
return a pointer to the ISFParticle corresponding to the current G4Track.
Reimplemented in TrackInformation, and TrackBarcodeInfo.
Definition at line 80 of file VTrackInformation.h.
|
inline |
return the classification of the current G4Ttrack (Primary, Regenerated Primary, Registered Secondary, Secondary)
Definition at line 39 of file VTrackInformation.h.
|
inlinevirtual |
Reimplemented in TrackInformation.
Definition at line 68 of file VTrackInformation.h.
|
inlinevirtual |
return a pointer to the GenParticle corresponding to the current G4Track (if there is one).
Reimplemented in TrackInformation.
Definition at line 67 of file VTrackInformation.h.
|
pure virtual |
Implemented in TrackInformation, and TrackBarcodeInfo.
|
pure virtual |
Implemented in TrackInformation, and TrackBarcodeInfo.
|
pure virtual |
Implemented in TrackInformation, and TrackBarcodeInfo.
|
inline |
Definition at line 55 of file VTrackInformation.h.
|
inline |
return a pointer to the GenParticle used to create the initial G4PrimaryParticle from which the current G4Track decends.
Should match the return value of ISF::TruthBinding::getPrimaryGenParticle(). TODO Check that this is required.
Definition at line 54 of file VTrackInformation.h.
|
virtual |
Is the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF?
Reimplemented in TrackInformation, and TrackBarcodeInfo.
Definition at line 17 of file VTrackInformation.cxx.
|
inlinevirtual |
Definition at line 105 of file VTrackInformation.h.
|
virtual |
set the pointer to the ISFParticle corresponding to the current G4Track.
(Only used to replace the ISFParticle by a copy of itself when the G4Track is killed and the copy is scheduled to be returned to the ISF.)
Reimplemented in TrackInformation, and TrackBarcodeInfo.
Definition at line 28 of file VTrackInformation.cxx.
|
inline |
update the classification of the currently tracked particle, usually called when a new G4Track is created or after it survives an interaction.
Definition at line 45 of file VTrackInformation.h.
|
virtual |
set the pointer to the GenParticle corresponding to the current G4Track.
This will be updated each time an interaction of the G4Track is recorded to the HepMC::GenEvent.
Reimplemented in TrackInformation.
Definition at line 22 of file VTrackInformation.cxx.
void VTrackInformation::SetPrimaryGenParticle | ( | HepMC::GenParticlePtr | p | ) |
set the pointer to the GenParticle used to create the initial G4PrimaryParticle from which the current G4Track decends.
TODO Check that this is required - if so, ensure it is set consistently.
Definition at line 12 of file VTrackInformation.cxx.
|
virtual |
Flag whether the ISFParticle corresponding to the current G4Track scheduled to be returned to the ISF.
Only called in TrackProcessorUserActionPassBack::returnParticleToISF
Reimplemented in TrackInformation, and TrackBarcodeInfo.
Definition at line 34 of file VTrackInformation.cxx.
|
private |
Definition at line 107 of file VTrackInformation.h.
|
private |
Definition at line 108 of file VTrackInformation.h.