DD4hep  1.30.0
Detector Description Toolkit for High Energy Physics
Public Member Functions | Protected Attributes | List of all members
dd4hep::sim::Geant4SensDet Class Reference

Concrete implementation of the G4VSensitiveDetector calling the registered sequence object. More...

Inheritance diagram for dd4hep::sim::Geant4SensDet:
G4VSensitiveDetector G4VFastSimSensitiveDetector G4VSDFilter dd4hep::sim::Geant4ActionSD dd4hep::sim::RefCountedSequence< Geant4SensDetActionSequence > dd4hep::sim::Geant4Action

Public Member Functions

 Geant4SensDet (const std::string &nam, Detector &description)
 Constructor. The detector element is identified by the name. More...
 
virtual ~Geant4SensDet ()=default
 Destructor. More...
 
G4String GetName () const
 Overload to avoid ambiguity between G4VSensitiveDetector and G4VSDFilter. More...
 
virtual std::string path () const override final
 G4VSensitiveDetector internals: Access to the detector path name. More...
 
virtual std::string fullPath () const override final
 G4VSensitiveDetector internals: Access to the detector path name. More...
 
virtual bool isActive () const override
 Is the detector active? More...
 
virtual G4int GetCollectionID (G4int i) override final
 This is a utility method which returns the hits collection ID. More...
 
virtual G4VReadOutGeometry * readoutGeometry () const override
 Access to the readout geometry of the sensitive detector. More...
 
virtual SensitiveDetector sensitiveDetector () const override final
 Access to the Detector sensitive detector handle. More...
 
virtual const std::string & sensitiveType () const override final
 Access to the sensitive type of the detector. More...
 
virtual G4bool Accept (const G4Step *step) const override final
 Callback if the sequence should be accepted or filtered off. More...
 
virtual void Initialize (G4HCofThisEvent *hce) override final
 Method invoked at the begining of each event. More...
 
virtual void EndOfEvent (G4HCofThisEvent *hce) override final
 Method invoked at the end of each event. More...
 
virtual G4bool ProcessHits (G4Step *step, G4TouchableHistory *hist) override final
 Method for generating hit(s) using the information of G4Step object. More...
 
virtual G4bool ProcessHits (G4GFlashSpot *sp, G4TouchableHistory *hist) override final
 GFLASH interface. More...
 
virtual G4bool ProcessHits (const G4FastHit *hit, const G4FastTrack *track, G4TouchableHistory *hist) override final
 Geant4 Fast simulation interface. More...
 
virtual void clear () override
 G4VSensitiveDetector interface: Method invoked if the event was aborted. More...
 
virtual size_t defineCollection (const std::string &coll) override
 Initialize the usage of a hit collection. Returns the collection identifier. More...
 
- Public Member Functions inherited from G4VFastSimSensitiveDetector
 G4VFastSimSensitiveDetector ()=default
 
virtual ~G4VFastSimSensitiveDetector ()=default
 
- 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...
 
Geant4Contextcontext () 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...
 
PropertyManagerproperties ()
 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...
 
Geant4UIMessengercontrol () const
 Access to the UI messenger. More...
 
virtual void enableUI ()
 Enable and install UI messenger. More...
 
template<typename T >
Geant4ActiondeclareProperty (const std::string &nam, T &val)
 Declare property. More...
 
template<typename T >
Geant4ActiondeclareProperty (const char *nam, T &val)
 Declare property. More...
 
bool hasProperty (const std::string &name) const
 Check property for existence. More...
 
Propertyproperty (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...
 
Geant4RunActionSequencerunAction () const
 Access to the main run action sequence from the kernel object. More...
 
Geant4EventActionSequenceeventAction () const
 Access to the main event action sequence from the kernel object. More...
 
Geant4SteppingActionSequencesteppingAction () const
 Access to the main stepping action sequence from the kernel object. More...
 
Geant4TrackingActionSequencetrackingAction () const
 Access to the main tracking action sequence from the kernel object. More...
 
Geant4StackingActionSequencestackingAction () const
 Access to the main stacking action sequence from the kernel object. More...
 
Geant4GeneratorActionSequencegeneratorAction () const
 Access to the main generator action sequence from the kernel object. More...
 
- Public Member Functions inherited from dd4hep::sim::RefCountedSequence< Geant4SensDetActionSequence >
 RefCountedSequence ()
 Default constructor. More...
 
 RefCountedSequence (Geant4SensDetActionSequence *seq)
 Initializing constructor. More...
 
virtual ~RefCountedSequence ()
 Default destructor. More...
 
void _aquire (Geant4SensDetActionSequence *s)
 
void _release ()
 

Protected Attributes

SensitiveDetector m_sensitive
 Access to the geant4 sensitive detector handle. More...
 
- Protected Attributes inherited from dd4hep::sim::Geant4Action
Geant4Contextm_context { nullptr }
 Reference to the Geant4 context. More...
 
Geant4UIMessengerm_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 Attributes inherited from dd4hep::sim::RefCountedSequence< Geant4SensDetActionSequence >
Geant4SensDetActionSequencem_sequence
 
- Protected Member Functions inherited from dd4hep::sim::Geant4ActionSD
 DDG4_DEFINE_ACTION_CONSTRUCTORS (Geant4ActionSD)
 Define standard assignments and constructors. More...
 
 Geant4ActionSD (const std::string &name)
 Standard action constructor. More...
 
virtual ~Geant4ActionSD ()
 Default destructor. 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...
 

Detailed Description

Concrete implementation of the G4VSensitiveDetector calling the registered sequence object.

Author
M.Frank
Version
1.0

Definition at line 85 of file Geant4SensDet.cpp.

Constructor & Destructor Documentation

◆ Geant4SensDet()

dd4hep::sim::Geant4SensDet::Geant4SensDet ( const std::string &  nam,
Detector description 
)
inline

Constructor. The detector element is identified by the name.

Definition at line 97 of file Geant4SensDet.cpp.

◆ ~Geant4SensDet()

virtual dd4hep::sim::Geant4SensDet::~Geant4SensDet ( )
virtualdefault

Destructor.

Member Function Documentation

◆ Accept()

virtual G4bool dd4hep::sim::Geant4SensDet::Accept ( const G4Step *  step) const
inlinefinaloverridevirtual

Callback if the sequence should be accepted or filtered off.

Definition at line 144 of file Geant4SensDet.cpp.

◆ clear()

virtual void dd4hep::sim::Geant4SensDet::clear ( )
inlineoverridevirtual

G4VSensitiveDetector interface: Method invoked if the event was aborted.

Definition at line 174 of file Geant4SensDet.cpp.

◆ defineCollection()

virtual size_t dd4hep::sim::Geant4SensDet::defineCollection ( const std::string &  coll)
inlineoverridevirtual

Initialize the usage of a hit collection. Returns the collection identifier.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 177 of file Geant4SensDet.cpp.

◆ EndOfEvent()

virtual void dd4hep::sim::Geant4SensDet::EndOfEvent ( G4HCofThisEvent *  hce)
inlinefinaloverridevirtual

Method invoked at the end of each event.

Definition at line 150 of file Geant4SensDet.cpp.

◆ fullPath()

virtual std::string dd4hep::sim::Geant4SensDet::fullPath ( ) const
inlinefinaloverridevirtual

G4VSensitiveDetector internals: Access to the detector path name.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 126 of file Geant4SensDet.cpp.

◆ GetCollectionID()

virtual G4int dd4hep::sim::Geant4SensDet::GetCollectionID ( G4int  i)
inlinefinaloverridevirtual

This is a utility method which returns the hits collection ID.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 132 of file Geant4SensDet.cpp.

◆ GetName()

G4String dd4hep::sim::Geant4SensDet::GetName ( ) const
inline

Overload to avoid ambiguity between G4VSensitiveDetector and G4VSDFilter.

Definition at line 120 of file Geant4SensDet.cpp.

◆ Initialize()

virtual void dd4hep::sim::Geant4SensDet::Initialize ( G4HCofThisEvent *  hce)
inlinefinaloverridevirtual

Method invoked at the begining of each event.

Definition at line 147 of file Geant4SensDet.cpp.

◆ isActive()

virtual bool dd4hep::sim::Geant4SensDet::isActive ( ) const
inlineoverridevirtual

Is the detector active?

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 129 of file Geant4SensDet.cpp.

◆ path()

virtual std::string dd4hep::sim::Geant4SensDet::path ( ) const
inlinefinaloverridevirtual

G4VSensitiveDetector internals: Access to the detector path name.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 123 of file Geant4SensDet.cpp.

◆ ProcessHits() [1/3]

virtual G4bool dd4hep::sim::Geant4SensDet::ProcessHits ( const G4FastHit hit,
const G4FastTrack *  track,
G4TouchableHistory *  hist 
)
inlinefinaloverridevirtual

Geant4 Fast simulation interface.

Implements G4VFastSimSensitiveDetector.

Definition at line 166 of file Geant4SensDet.cpp.

◆ ProcessHits() [2/3]

virtual G4bool dd4hep::sim::Geant4SensDet::ProcessHits ( G4GFlashSpot *  sp,
G4TouchableHistory *  hist 
)
inlinefinaloverridevirtual

GFLASH interface.

Definition at line 157 of file Geant4SensDet.cpp.

◆ ProcessHits() [3/3]

virtual G4bool dd4hep::sim::Geant4SensDet::ProcessHits ( G4Step *  step,
G4TouchableHistory *  hist 
)
inlinefinaloverridevirtual

Method for generating hit(s) using the information of G4Step object.

Definition at line 153 of file Geant4SensDet.cpp.

◆ readoutGeometry()

virtual G4VReadOutGeometry* dd4hep::sim::Geant4SensDet::readoutGeometry ( ) const
inlineoverridevirtual

Access to the readout geometry of the sensitive detector.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 135 of file Geant4SensDet.cpp.

◆ sensitiveDetector()

virtual SensitiveDetector dd4hep::sim::Geant4SensDet::sensitiveDetector ( ) const
inlinefinaloverridevirtual

Access to the Detector sensitive detector handle.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 138 of file Geant4SensDet.cpp.

◆ sensitiveType()

virtual const std::string& dd4hep::sim::Geant4SensDet::sensitiveType ( ) const
inlinefinaloverridevirtual

Access to the sensitive type of the detector.

Implements dd4hep::sim::Geant4ActionSD.

Definition at line 141 of file Geant4SensDet.cpp.

Member Data Documentation

◆ m_sensitive

SensitiveDetector dd4hep::sim::Geant4SensDet::m_sensitive
protected

Access to the geant4 sensitive detector handle.

Definition at line 94 of file Geant4SensDet.cpp.


The documentation for this class was generated from the following file: