DD4hep
1.30.0
Detector Description Toolkit for High Energy Physics
|
Class to output Geant4 event data to ROOT files. More...
#include <Geant4Output2ROOT.h>
Public Member Functions | |
Geant4Output2ROOT (Geant4Context *context, const std::string &nam) | |
Standard constructor. More... | |
virtual | ~Geant4Output2ROOT () |
Default destructor. More... | |
TTree * | section (const std::string &nam) |
Create/access tree by name for non collection user data. More... | |
int | fill (const std::string &nam, const ComponentCast &type, void *ptr) |
Fill single EVENT branch entry (Geant4 collection data) More... | |
virtual void | closeOutput () |
Close current output file. More... | |
virtual void | beginRun (const G4Run *run) override |
Callback to store the Geant4 run information. More... | |
virtual void | saveCollection (OutputContext< G4Event > &ctxt, G4VHitsCollection *collection) override |
Callback to store each Geant4 hit collection. More... | |
virtual void | saveEvent (OutputContext< G4Event > &ctxt) override |
Callback to store the Geant4 event. More... | |
virtual void | commit (OutputContext< G4Event > &ctxt) override |
Commit data at end of filling procedure. 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 | begin (const G4Event *event) override |
begin-of-event callback More... | |
virtual void | end (const G4Event *event) override |
End-of-event callback. 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 event. 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 | |
typedef std::map< std::string, TBranch * > | Branches |
typedef std::map< std::string, TTree * > | Sections |
Protected Attributes | |
Sections | m_sections |
Known file sections. More... | |
Branches | m_branches |
Branches in the event tree. More... | |
TFile * | m_file |
Reference to the ROOT file to open. More... | |
TTree * | m_tree |
Reference to the event data tree. More... | |
int | m_fseqNunmber { 0 } |
File sequence number. More... | |
std::string | m_section |
Property: name of the event tree. More... | |
std::vector< std::string > | m_disabledCollections |
Property: vector with disabled collections. More... | |
bool | m_disableParticles = false |
Property: vector with disabled collections. More... | |
bool | m_handleMCTruth |
Property: Flag if Monte-Carlo truth should be followed and checked. More... | |
bool | m_filesByRun |
Property: Flag if Monte-Carlo truth should be followed and checked. More... | |
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 |
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... | |
Class to output Geant4 event data to ROOT files.
Definition at line 37 of file Geant4Output2ROOT.h.
|
protected |
Definition at line 39 of file Geant4Output2ROOT.h.
|
protected |
Definition at line 40 of file Geant4Output2ROOT.h.
Geant4Output2ROOT::Geant4Output2ROOT | ( | Geant4Context * | context, |
const std::string & | nam | ||
) |
Standard constructor.
Definition at line 38 of file Geant4Output2ROOT.cpp.
|
virtual |
Default destructor.
Definition at line 49 of file Geant4Output2ROOT.cpp.
|
overridevirtual |
Callback to store the Geant4 run information.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 83 of file Geant4Output2ROOT.cpp.
|
virtual |
Close current output file.
Definition at line 55 of file Geant4Output2ROOT.cpp.
|
overridevirtual |
Commit data at end of filling procedure.
Fill NULL pointers to all branches, which have less entries than the Event branch
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 156 of file Geant4Output2ROOT.cpp.
int Geant4Output2ROOT::fill | ( | const std::string & | nam, |
const ComponentCast & | type, | ||
void * | ptr | ||
) |
Fill single EVENT branch entry (Geant4 collection data)
Definition at line 118 of file Geant4Output2ROOT.cpp.
|
overridevirtual |
Callback to store each Geant4 hit collection.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 203 of file Geant4Output2ROOT.cpp.
|
overridevirtual |
Callback to store the Geant4 event.
Reimplemented from dd4hep::sim::Geant4OutputAction.
Definition at line 180 of file Geant4Output2ROOT.cpp.
TTree * Geant4Output2ROOT::section | ( | const std::string & | nam | ) |
Create/access tree by name for non collection user data.
Create/access tree by name.
Definition at line 71 of file Geant4Output2ROOT.cpp.
|
protected |
Branches in the event tree.
Definition at line 44 of file Geant4Output2ROOT.h.
|
protected |
Property: vector with disabled collections.
Definition at line 54 of file Geant4Output2ROOT.h.
|
protected |
Property: vector with disabled collections.
Definition at line 56 of file Geant4Output2ROOT.h.
|
protected |
Reference to the ROOT file to open.
Definition at line 46 of file Geant4Output2ROOT.h.
|
protected |
Property: Flag if Monte-Carlo truth should be followed and checked.
Definition at line 60 of file Geant4Output2ROOT.h.
|
protected |
File sequence number.
Definition at line 50 of file Geant4Output2ROOT.h.
|
protected |
Property: Flag if Monte-Carlo truth should be followed and checked.
Definition at line 58 of file Geant4Output2ROOT.h.
|
protected |
Property: name of the event tree.
Definition at line 52 of file Geant4Output2ROOT.h.
|
protected |
Known file sections.
Definition at line 42 of file Geant4Output2ROOT.h.
|
protected |
Reference to the event data tree.
Definition at line 48 of file Geant4Output2ROOT.h.