k4SimGeant4
Loading...
Searching...
No Matches
SimG4UserLimitRegion Class Reference

Tool for creating regions with user limits. More...

#include <SimG4UserLimitRegion.h>

Inheritance diagram for SimG4UserLimitRegion:
Collaboration diagram for SimG4UserLimitRegion:

Public Member Functions

 SimG4UserLimitRegion (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~SimG4UserLimitRegion ()
 
virtual StatusCode initialize () final
 Initialize.
 
virtual StatusCode finalize () final
 Finalize.
 
virtual StatusCode create () final
 Create regions and fast simulation models.
 
- Public Member Functions inherited from ISimG4RegionTool
 DeclareInterfaceID (ISimG4RegionTool, 1, 0)
 

Private Attributes

std::vector< G4Region * > m_g4regions
 Regions used to set user limits deleted by the G4RegionStore.
 
std::vector< std::unique_ptr< G4UserLimits > > m_userLimits
 User limits.
 
Gaudi::Property< std::vector< std::string > > m_volumeNames {this, "volumeNames", {}, "Names of the volumes"}
 Names of the volumes where user limits should be attached (set by job options)
 
Gaudi::Property< double > m_maxStep {this, "maxStep", DBL_MAX, "maximum step"}
 max allowed Step size in this volume (set by job options)
 
Gaudi::Property< double > m_maxTrack {this, "maxTrack", DBL_MAX, "maximum total track length"}
 max total track length (set by job options)
 
Gaudi::Property< double > m_maxTime {this, "maxTime", DBL_MAX, "max time"}
 max time (set by job options)
 
Gaudi::Property< double > m_minKineticEnergy {this, "minKineticEnergy", 0, "min kinetic energy"}
 min kinetic energy (only for charged particles) (set by job options)
 
Gaudi::Property< double > m_minRange {this, "minRange", 0, "min remaining range "}
 min remaining range (only for charged particles) (set by job options)
 

Detailed Description

Tool for creating regions with user limits.

It requires SimG4UserLimitPhysics to be used.

Author
Anna Zaborowska

Constructor & Destructor Documentation

◆ SimG4UserLimitRegion()

SimG4UserLimitRegion::SimG4UserLimitRegion ( const std::string & type,
const std::string & name,
const IInterface * parent )
explicit

◆ ~SimG4UserLimitRegion()

SimG4UserLimitRegion::~SimG4UserLimitRegion ( )
virtual

Member Function Documentation

◆ create()

StatusCode SimG4UserLimitRegion::create ( )
finalvirtual

Create regions and fast simulation models.

Returns
status code

all G4Region objects are deleted by the G4RegionStore

Implements ISimG4RegionTool.

◆ finalize()

StatusCode SimG4UserLimitRegion::finalize ( )
finalvirtual

Finalize.

Returns
status code

◆ initialize()

StatusCode SimG4UserLimitRegion::initialize ( )
finalvirtual

Initialize.

Returns
status code

Member Data Documentation

◆ m_g4regions

std::vector<G4Region*> SimG4UserLimitRegion::m_g4regions
private

Regions used to set user limits deleted by the G4RegionStore.

◆ m_maxStep

Gaudi::Property<double> SimG4UserLimitRegion::m_maxStep {this, "maxStep", DBL_MAX, "maximum step"}
private

max allowed Step size in this volume (set by job options)

◆ m_maxTime

Gaudi::Property<double> SimG4UserLimitRegion::m_maxTime {this, "maxTime", DBL_MAX, "max time"}
private

max time (set by job options)

◆ m_maxTrack

Gaudi::Property<double> SimG4UserLimitRegion::m_maxTrack {this, "maxTrack", DBL_MAX, "maximum total track length"}
private

max total track length (set by job options)

◆ m_minKineticEnergy

Gaudi::Property<double> SimG4UserLimitRegion::m_minKineticEnergy {this, "minKineticEnergy", 0, "min kinetic energy"}
private

min kinetic energy (only for charged particles) (set by job options)

◆ m_minRange

Gaudi::Property<double> SimG4UserLimitRegion::m_minRange {this, "minRange", 0, "min remaining range "}
private

min remaining range (only for charged particles) (set by job options)

◆ m_userLimits

std::vector<std::unique_ptr<G4UserLimits> > SimG4UserLimitRegion::m_userLimits
private

User limits.

◆ m_volumeNames

Gaudi::Property<std::vector<std::string> > SimG4UserLimitRegion::m_volumeNames {this, "volumeNames", {}, "Names of the volumes"}
private

Names of the volumes where user limits should be attached (set by job options)


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