DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Geant4ParticleHandler user extension action called by the particle handler. More...
#include <Geant4UserParticleHandler.h>
Public Types | |
typedef Geant4Particle | Particle |
Public Member Functions | |
Geant4UserParticleHandler (Geant4Context *context, const std::string &nam) | |
Standard constructor. More... | |
virtual | ~Geant4UserParticleHandler () |
Default destructor. More... | |
virtual void | generate (G4Event *event, Geant4ParticleHandler *handler) |
Event generation action callback. More... | |
virtual void | begin (const G4Event *event) |
Pre-event action callback. More... | |
virtual void | end (const G4Event *event) |
Post-event action callback. More... | |
virtual void | step (const G4Step *step, G4SteppingManager *mgr, Particle &particle) |
User stepping callback. More... | |
virtual void | begin (const G4Track *track, Particle &particle) |
Pre-track action callback. More... | |
virtual void | end (const G4Track *track, Particle &particle) |
Post-track action callback. More... | |
virtual bool | keepParticle (Particle &particle) |
Callback to be answered if the particle MUST be kept during recombination step. More... | |
virtual void | combine (Particle &to_be_deleted, Particle &remaining_parent) |
Callback when parent should be combined. More... | |
Public Member Functions inherited from dd4hep::sim::Geant4Action | |
Geant4Action (Geant4Context *context, const std::string &nam) | |
Standard constructor. More... | |
long | addRef () |
Increase reference count. More... | |
long | release () |
Decrease reference count. Implicit destruction. More... | |
Geant4Context * | context () const |
Access the context. More... | |
virtual void | updateContext (Geant4Context *ctxt) |
Set or update client context. More... | |
virtual void | configureFiber (Geant4Context *thread_context) |
Set or update client for the use in a new thread fiber. More... | |
const std::string & | name () const |
Access name of the action. More... | |
const char * | c_name () const |
Access name of the action. More... | |
void | setName (const std::string &new_name) |
Set the object name. More... | |
PropertyManager & | properties () |
Access to the properties of the object. More... | |
PrintLevel | outputLevel () const |
Access the output level. More... | |
PrintLevel | setOutputLevel (PrintLevel new_level) |
Set the output level; returns previous value. More... | |
Geant4UIMessenger * | control () const |
Access to the UI messenger. More... | |
virtual void | enableUI () |
Enable and install UI messenger. More... | |
template<typename T > | |
Geant4Action & | declareProperty (const std::string &nam, T &val) |
Declare property. More... | |
template<typename T > | |
Geant4Action & | declareProperty (const char *nam, T &val) |
Declare property. More... | |
bool | hasProperty (const std::string &name) const |
Check property for existence. More... | |
Property & | property (const std::string &name) |
Access single property. More... | |
virtual void | installMessengers () |
Install property control messenger if wanted. More... | |
virtual void | installCommandMessenger () |
Install command control messenger if wanted. More... | |
virtual void | installPropertyMessenger () |
Install property control messenger if wanted. More... | |
void | print (const char *fmt,...) const |
Support for messages with variable output level using output level. More... | |
void | printM1 (const char *fmt,...) const |
Support for messages with variable output level using output level-1. More... | |
void | printM2 (const char *fmt,...) const |
Support for messages with variable output level using output level-2. More... | |
void | printP1 (const char *fmt,...) const |
Support for messages with variable output level using output level+1. More... | |
void | printP2 (const char *fmt,...) const |
Support for messages with variable output level using output level+2. More... | |
void | always (const char *fmt,...) const |
Support of always printed messages. More... | |
void | debug (const char *fmt,...) const |
Support of debug messages. More... | |
void | info (const char *fmt,...) const |
Support of info messages. More... | |
void | warning (const char *fmt,...) const |
Support of warning messages. More... | |
void | error (const char *fmt,...) const |
Support of error messages. More... | |
bool | return_error (bool return_value, const char *fmt,...) const |
Action to support error messages. More... | |
void | fatal (const char *fmt,...) const |
Support of fatal messages. Throws exception. More... | |
void | except (const char *fmt,...) const |
Support of exceptions: Print fatal message and throw runtime_error. More... | |
void | abortRun (const std::string &exception, const char *fmt,...) const |
Abort Geant4 Run by throwing a G4Exception with type RunMustBeAborted. More... | |
Geant4RunActionSequence & | runAction () const |
Access to the main run action sequence from the kernel object. More... | |
Geant4EventActionSequence & | eventAction () const |
Access to the main event action sequence from the kernel object. More... | |
Geant4SteppingActionSequence & | steppingAction () const |
Access to the main stepping action sequence from the kernel object. More... | |
Geant4TrackingActionSequence & | trackingAction () const |
Access to the main tracking action sequence from the kernel object. More... | |
Geant4StackingActionSequence & | stackingAction () const |
Access to the main stacking action sequence from the kernel object. More... | |
Geant4GeneratorActionSequence & | generatorAction () const |
Access to the main generator action sequence from the kernel object. More... | |
Protected Attributes | |
double | m_kinEnergyCut |
Property: Energy cut below which particles are not collected, but assigned to the parent. More... | |
Protected Attributes inherited from dd4hep::sim::Geant4Action | |
Geant4Context * | m_context { nullptr } |
Reference to the Geant4 context. More... | |
Geant4UIMessenger * | m_control { nullptr } |
Control directory of this action. More... | |
int | m_outputLevel { 3 } |
Default property: Output level. More... | |
bool | m_needsControl { false } |
Default property: Flag to create control instance. More... | |
std::string | m_name { } |
Action name. More... | |
PropertyManager | m_properties { } |
Property pool. More... | |
long | m_refCount { 1 } |
Reference count. Initial value: 1. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from dd4hep::sim::Geant4Action | |
DDG4_DEFINE_ACTION_CONSTRUCTORS (Geant4Action) | |
Define standard assignments and constructors. More... | |
virtual | ~Geant4Action () |
Default destructor. More... | |
Geant4ParticleHandler user extension action called by the particle handler.
Collect optional MC particle information and attach it to the particle object Clients may inherit from this class and override the approriate methods to add additional information in form of a DataExtension object to the Particle.
The default implementation is always empty!
Definition at line 60 of file Geant4UserParticleHandler.h.
Definition at line 62 of file Geant4UserParticleHandler.h.
dd4hep::sim::Geant4UserParticleHandler::Geant4UserParticleHandler | ( | Geant4Context * | context, |
const std::string & | nam | ||
) |
Standard constructor.
|
virtual |
Default destructor.
|
virtual |
Pre-event action callback.
|
virtual |
Pre-track action callback.
Allow the user to intercept particle handling in the pre track action. e.g. attach relevant user information. The default implementation is empty.
Note: The particle passed is a temporary and will be copied if kept.
|
virtual |
Callback when parent should be combined.
Called before a particle is removed from the final record. Relevant particle properties of the parent may be updated. The default implementation is empty.
|
virtual |
Post-event action callback.
Reimplemented in dd4hep::sim::Geant4TVUserParticleHandler, and dd4hep::sim::Geant4TCUserParticleHandler.
|
virtual |
Post-track action callback.
Allow the user to force the particle handling in the post track action set the reason mask to NULL in order to drop the particle. The parent's reasoning mask will be or'ed with the particle's mask to preserve the MC truth for the hit creation. The default implementation is empty.
Note: The particle passed is a temporary and will be copied if kept.
Reimplemented in dd4hep::sim::Geant4TVUserParticleHandler, and dd4hep::sim::Geant4TCUserParticleHandler.
|
virtual |
Event generation action callback.
|
virtual |
Callback to be answered if the particle MUST be kept during recombination step.
Allow the user to force the particle handling either by or the reason mask with G4PARTICLE_KEEP_USER or to set the reason mask to NULL in order to drop it. The default implementation is empty.
If the reason mask entry is set to G4PARTICLE_FORCE_KILL or is set to NULL, the particle is ALWAYS removed
The default implementation calls Geant4ParticleHandler::defaultKeepParticle(particle) Please have a look therein if it suffices your needs!
Note: This may override all other decisions! Default implementation is empty.
|
virtual |
User stepping callback.
Allow the user to intercept particle handling in the pre track action. The default implementation is empty.
Note: The particle passed is a temporary and will be copied if kept.
|
protected |
Property: Energy cut below which particles are not collected, but assigned to the parent.
Definition at line 66 of file Geant4UserParticleHandler.h.