![]() |
DD4hep
1.32.1
Detector Description Toolkit for High Energy Physics
|
Base class to output Geant4 event data to EDM4hep. More...
Public Member Functions | |
| Geant4Output2EDM4hep (Geant4Context *ctxt, const std::string &nam) | |
| Standard constructor. More... | |
| virtual | ~Geant4Output2EDM4hep () |
| Default destructor. More... | |
| virtual void | beginRun (const G4Run *run) |
| Callback to store the Geant4 run information. More... | |
| virtual void | endRun (const G4Run *run) |
| Callback to store the Geant4 run information. More... | |
| virtual void | saveRun (const G4Run *run) |
| Callback to store the Geant4 run information. More... | |
| virtual void | saveEvent (OutputContext< G4Event > &ctxt) |
| Callback to store the Geant4 event. More... | |
| virtual void | saveCollection (OutputContext< G4Event > &ctxt, G4VHitsCollection *collection) |
| Callback to store each Geant4 hit collection. More... | |
| virtual void | commit (OutputContext< G4Event > &ctxt) |
| Commit data at end of filling procedure. More... | |
| virtual void | begin (const G4Event *event) |
| begin-of-event callback - creates EDM4hep event and adds it to the event context More... | |
Public Member Functions inherited from dd4hep::sim::Geant4OutputAction | |
| Geant4OutputAction ()=delete | |
| Inhibit default constructor. More... | |
| Geant4OutputAction (const Geant4OutputAction ©)=delete | |
| Inhibit copy constructor. More... | |
| Geant4OutputAction (Geant4Context *c, const std::string &nam) | |
| Standard constructor. More... | |
| virtual | ~Geant4OutputAction () |
| Default destructor. More... | |
| virtual void | configureFiber (Geant4Context *ctxt) override |
| Set or update client for the use in a new thread fiber. More... | |
| virtual void | end (const G4Event *event) override |
| End-of-event callback. More... | |
Public Member Functions inherited from dd4hep::sim::Geant4EventAction | |
| Geant4EventAction (Geant4Context *context, const std::string &nam) | |
| Standard constructor. More... | |
| virtual | ~Geant4EventAction () |
| Default destructor. 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... | |
| 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 Types | |
| using | writer_t = podio::ROOTWriter |
| using | floatmap_t = std::map< std::string, float > |
| using | intmap_t = std::map< std::string, int > |
| using | stringmap_t = std::map< std::string, std::string > |
| using | trackermap_t = std::map< std::string, edm4hep::SimTrackerHitCollection > |
| using | calorimeterpair_t = std::pair< edm4hep::SimCalorimeterHitCollection, edm4hep::CaloHitContributionCollection > |
| using | calorimetermap_t = std::map< std::string, calorimeterpair_t > |
Protected Member Functions | |
| void | saveParticles (Geant4ParticleMap *particles) |
| Data conversion interface for MC particles to EDM4hep format. More... | |
| void | saveFileMetaData () |
| Store the metadata frame with e.g. the cellID encoding strings. More... | |
| template<typename T > | |
| void | saveEventParameters (const std::map< std::string, T > ¶meters) |
| Fill event parameters in EDM4hep event. More... | |
Protected Member Functions inherited from dd4hep::sim::Geant4EventAction | |
| DDG4_DEFINE_ACTION_CONSTRUCTORS (Geant4EventAction) | |
| Define standard assignments and constructors. More... | |
Protected Member Functions inherited from dd4hep::sim::Geant4Action | |
| DDG4_DEFINE_ACTION_CONSTRUCTORS (Geant4Action) | |
| Define standard assignments and constructors. More... | |
| virtual | ~Geant4Action () |
| Default destructor. More... | |
Protected Attributes | |
| std::unique_ptr< writer_t > | m_file { } |
| std::atomic_size_t | m_fileUseCount { 0 } |
| podio::Frame | m_frame { } |
| edm4hep::MCParticleCollection | m_particles { } |
| trackermap_t | m_trackerHits |
| calorimetermap_t | m_calorimeterHits |
| stringmap_t | m_runHeader |
| intmap_t | m_eventParametersInt |
| floatmap_t | m_eventParametersFloat |
| stringmap_t | m_eventParametersString |
| intmap_t | m_runParametersInt |
| floatmap_t | m_runParametersFloat |
| stringmap_t | m_runParametersString |
| stringmap_t | m_cellIDEncodingStrings {} |
| std::string | m_section_name { "events" } |
| int | m_runNo { 0 } |
| int | m_runNumberOffset { 0 } |
| int | m_eventNo { 0 } |
| int | m_eventNumberOffset { 0 } |
| bool | m_filesByRun { false } |
Protected Attributes inherited from dd4hep::sim::Geant4OutputAction | |
| std::string | m_output { } |
| Property: "Output" output destination. More... | |
| bool | m_errorFatal { true } |
| Property: "HandleErrorsAsFatal" Handle errors as fatal and rethrow eventual exceptions. More... | |
| Geant4ParticleMap * | m_truth { nullptr } |
| Reference to MC truth object. 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 | |
Public Types inherited from dd4hep::sim::Geant4EventAction | |
| typedef Geant4SharedEventAction | shared_type |
Base class to output Geant4 event data to EDM4hep.
Definition at line 71 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 79 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 78 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 74 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 75 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 76 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 77 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 73 of file Geant4Output2EDM4hep.cpp.
| Geant4Output2EDM4hep::Geant4Output2EDM4hep | ( | Geant4Context * | ctxt, |
| const std::string & | nam | ||
| ) |
Standard constructor.
Definition at line 254 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Default destructor.
Definition at line 273 of file Geant4Output2EDM4hep.cpp.
|
virtual |
begin-of-event callback - creates EDM4hep event and adds it to the event context
Create event frame object
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 394 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Callback to store the Geant4 run information.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 279 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Commit data at end of filling procedure.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 326 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Callback to store the Geant4 run information.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 301 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Callback to store each Geant4 hit collection.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 597 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Callback to store the Geant4 event.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 509 of file Geant4Output2EDM4hep.cpp.
|
inlineprotected |
Fill event parameters in EDM4hep event.
Definition at line 129 of file Geant4Output2EDM4hep.cpp.
|
protected |
Store the metadata frame with e.g. the cellID encoding strings.
Definition at line 316 of file Geant4Output2EDM4hep.cpp.
|
protected |
Data conversion interface for MC particles to EDM4hep format.
Definition at line 404 of file Geant4Output2EDM4hep.cpp.
|
virtual |
Callback to store the Geant4 run information.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 348 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 85 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 93 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 97 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 98 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 88 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 87 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 89 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 80 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 99 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 81 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 82 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 83 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 86 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 95 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 96 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 91 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 90 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 92 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 94 of file Geant4Output2EDM4hep.cpp.
|
protected |
Definition at line 84 of file Geant4Output2EDM4hep.cpp.
1.8.18