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: