![]() |
DD4hep
1.33.0
Detector Description Toolkit for High Energy Physics
|
Default base class for all Geant 4 actions and derivates thereof. More...
#include <Geant4Action.h>
Classes | |
| class | Actors |
| Actor class to manipulate action groups. More... | |
| class | ContextSwap |
| Functor to update the context of a Geant4Action object. More... | |
| struct | FindByName |
| Functor to access elements by name. More... | |
Public Member Functions | |
| 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 Member Functions | |
| DDG4_DEFINE_ACTION_CONSTRUCTORS (Geant4Action) | |
| Define standard assignments and constructors. More... | |
| virtual | ~Geant4Action () |
| Default destructor. More... | |
Protected Attributes | |
| 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... | |
Default base class for all Geant 4 actions and derivates thereof.
This is a utility class supporting properties, output and access to event and run objects through the context.
Definition at line 113 of file Geant4Action.h.
|
protectedvirtual |
Default destructor.
Definition at line 66 of file Geant4Action.cpp.
| Geant4Action::Geant4Action | ( | Geant4Context * | context, |
| const std::string & | nam | ||
| ) |
Standard constructor.
Definition at line 54 of file Geant4Action.cpp.
| void Geant4Action::abortRun | ( | const std::string & | exception, |
| const char * | fmt, | ||
| ... | |||
| ) | const |
Abort Geant4 Run by throwing a G4Exception with type RunMustBeAborted.
Definition at line 266 of file Geant4Action.cpp.
| long Geant4Action::addRef | ( | ) |
| void Geant4Action::always | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of always printed messages.
Definition at line 199 of file Geant4Action.cpp.
|
inline |
Access name of the action.
Definition at line 284 of file Geant4Action.h.
|
virtual |
Set or update client for the use in a new thread fiber.
Reimplemented in dd4hep::sim::Geant4EventActionSequence, dd4hep::sim::Geant4StackingActionSequence, dd4hep::sim::Geant4RunActionSequence, dd4hep::sim::Geant4TrackingActionSequence, dd4hep::sim::Geant4GeneratorActionSequence, dd4hep::sim::Geant4SteppingActionSequence, dd4hep::sim::Geant4SharedStackingAction, dd4hep::sim::Geant4SharedEventAction, dd4hep::sim::Geant4SharedRunAction, dd4hep::sim::Geant4SharedGeneratorAction, dd4hep::sim::Geant4SharedTrackingAction, dd4hep::sim::Geant4SharedSteppingAction, and dd4hep::sim::Geant4OutputAction.
Definition at line 140 of file Geant4Action.cpp.
|
inline |
Access the context.
Definition at line 270 of file Geant4Action.h.
| Geant4UIMessenger * Geant4Action::control | ( | ) | const |
Access to the UI messenger.
Definition at line 125 of file Geant4Action.cpp.
|
protected |
Define standard assignments and constructors.
| void Geant4Action::debug | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of debug messages.
Definition at line 207 of file Geant4Action.cpp.
| Geant4Action & dd4hep::sim::Geant4Action::declareProperty | ( | const char * | nam, |
| T & | val | ||
| ) |
Declare property.
Definition at line 372 of file Geant4Action.h.
| Geant4Action & dd4hep::sim::Geant4Action::declareProperty | ( | const std::string & | nam, |
| T & | val | ||
| ) |
Declare property.
Definition at line 366 of file Geant4Action.h.
|
virtual |
Enable and install UI messenger.
Reimplemented in dd4hep::sim::Geant4RunManager< RUNMANAGER >, and dd4hep::sim::Geant4RunManager< RUNMANAGER >.
Definition at line 134 of file Geant4Action.cpp.
| void Geant4Action::error | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of error messages.
Action to support error messages.
Definition at line 231 of file Geant4Action.cpp.
| Geant4EventActionSequence & Geant4Action::eventAction | ( | ) | const |
Access to the main event action sequence from the kernel object.
Definition at line 283 of file Geant4Action.cpp.
| void Geant4Action::except | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of exceptions: Print fatal message and throw runtime_error.
Definition at line 256 of file Geant4Action.cpp.
| void Geant4Action::fatal | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of fatal messages. Throws exception.
Support of fatal messages. Throws exception if required.
Definition at line 248 of file Geant4Action.cpp.
| Geant4GeneratorActionSequence & Geant4Action::generatorAction | ( | ) | const |
Access to the main generator action sequence from the kernel object.
Definition at line 303 of file Geant4Action.cpp.
| bool Geant4Action::hasProperty | ( | const std::string & | name | ) | const |
Check property for existence.
Definition at line 94 of file Geant4Action.cpp.
| void Geant4Action::info | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of info messages.
Definition at line 215 of file Geant4Action.cpp.
|
virtual |
Install command control messenger if wanted.
Reimplemented in dd4hep::sim::Geant4PhysicsListActionSequence, dd4hep::sim::Geant4PhysicsList, dd4hep::sim::Geant4DetectorGeometryConstruction, dd4hep::sim::Geant4GDMLWriteAction, and dd4hep::sim::Geant4UIManager.
Definition at line 121 of file Geant4Action.cpp.
|
virtual |
Install property control messenger if wanted.
Install all control messenger if wanted.
Definition at line 104 of file Geant4Action.cpp.
|
virtual |
Install property control messenger if wanted.
Definition at line 116 of file Geant4Action.cpp.
|
inline |
Access name of the action.
Definition at line 280 of file Geant4Action.h.
|
inline |
Access the output level.
Definition at line 296 of file Geant4Action.h.
| void Geant4Action::print | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support for messages with variable output level using output level.
Definition at line 144 of file Geant4Action.cpp.
| void Geant4Action::printM1 | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support for messages with variable output level using output level-1.
Definition at line 155 of file Geant4Action.cpp.
| void Geant4Action::printM2 | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support for messages with variable output level using output level-2.
Definition at line 166 of file Geant4Action.cpp.
| void Geant4Action::printP1 | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support for messages with variable output level using output level+1.
Support for messages with variable output level using output level-1.
Definition at line 177 of file Geant4Action.cpp.
| void Geant4Action::printP2 | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support for messages with variable output level using output level+2.
Support for messages with variable output level using output level-2.
Definition at line 188 of file Geant4Action.cpp.
|
inline |
Access to the properties of the object.
Definition at line 292 of file Geant4Action.h.
| dd4hep::Property & Geant4Action::property | ( | const std::string & | name | ) |
Access single property.
Definition at line 99 of file Geant4Action.cpp.
| long Geant4Action::release | ( | ) |
Decrease reference count. Implicit destruction.
Definition at line 76 of file Geant4Action.cpp.
| bool Geant4Action::return_error | ( | bool | return_value, |
| const char * | fmt, | ||
| ... | |||
| ) | const |
Action to support error messages.
Definition at line 239 of file Geant4Action.cpp.
| Geant4RunActionSequence & Geant4Action::runAction | ( | ) | const |
Access to the main run action sequence from the kernel object.
Definition at line 278 of file Geant4Action.cpp.
|
inline |
Set the object name.
Definition at line 288 of file Geant4Action.h.
| dd4hep::PrintLevel Geant4Action::setOutputLevel | ( | PrintLevel | new_level | ) |
Set the output level; returns previous value.
Definition at line 87 of file Geant4Action.cpp.
| Geant4StackingActionSequence & Geant4Action::stackingAction | ( | ) | const |
Access to the main stacking action sequence from the kernel object.
Definition at line 298 of file Geant4Action.cpp.
| Geant4SteppingActionSequence & Geant4Action::steppingAction | ( | ) | const |
Access to the main stepping action sequence from the kernel object.
Definition at line 288 of file Geant4Action.cpp.
| Geant4TrackingActionSequence & Geant4Action::trackingAction | ( | ) | const |
Access to the main tracking action sequence from the kernel object.
Definition at line 293 of file Geant4Action.cpp.
|
inlinevirtual |
Set or update client context.
Reimplemented in dd4hep::sim::Geant4SensDetActionSequence, dd4hep::sim::Geant4DetectorConstructionSequence, dd4hep::sim::Geant4EventActionSequence, dd4hep::sim::Geant4StackingActionSequence, dd4hep::sim::Geant4RunActionSequence, dd4hep::sim::Geant4TrackingActionSequence, dd4hep::sim::Geant4GeneratorActionSequence, dd4hep::sim::Geant4SteppingActionSequence, and dd4hep::sim::Geant4UserInitializationSequence.
Definition at line 274 of file Geant4Action.h.
| void Geant4Action::warning | ( | const char * | fmt, |
| ... | |||
| ) | const |
Support of warning messages.
Definition at line 223 of file Geant4Action.cpp.
|
protected |
Reference to the Geant4 context.
Definition at line 116 of file Geant4Action.h.
|
protected |
Control directory of this action.
Definition at line 118 of file Geant4Action.h.
|
protected |
Action name.
Definition at line 125 of file Geant4Action.h.
|
protected |
Default property: Flag to create control instance.
Definition at line 123 of file Geant4Action.h.
|
protected |
Default property: Output level.
Definition at line 121 of file Geant4Action.h.
|
protected |
Property pool.
Definition at line 127 of file Geant4Action.h.
|
protected |
Reference count. Initial value: 1.
Definition at line 129 of file Geant4Action.h.
1.8.18