ATLAS Offline Software
Loading...
Searching...
No Matches
DeadMaterialShowerTool Class Reference

#include <DeadMaterialShowerTool.h>

Inheritance diagram for DeadMaterialShowerTool:
Collaboration diagram for DeadMaterialShowerTool:

Public Member Functions

 DeadMaterialShowerTool (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor.
 ~DeadMaterialShowerTool ()
StatusCode initializeFastSim () override
 Construct and setup the fast simulation model.
virtual StatusCode BeginOfAthenaEvent () override
 Begin of an athena event - do anything that needs to be done at the beginning of each athena event.
virtual StatusCode EndOfAthenaEvent () override
 End of an athena event - do any tidying up required at the end of each athena event.

Protected Member Functions

virtual G4VFastSimulationModel * makeFastSimModel () override final
 Method to make the actual fast simulation model itself, which will be owned by the tool.
G4Region * getRegion () const

Protected Attributes

Gaudi::Property< std::string > m_regionName {this, "RegionName", ""}
 The region to which this fast sim is assigned.
Gaudi::Property< bool > m_noRegions {this, "NoRegions", false}
 This Fast Simulation has no regions associated with it.

Private Attributes

double m_highEnergy
double m_lowEnergy
 !< Kill everything but muons up to this energy
double m_zcutoff
 !< Kill only electrons and positrons up to this energy

Detailed Description

Definition at line 11 of file DeadMaterialShowerTool.h.

Constructor & Destructor Documentation

◆ DeadMaterialShowerTool()

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

Default constructor.

Definition at line 11 of file DeadMaterialShowerTool.cxx.

12 : FastSimulationBase(type,name,parent)
13{
14 declareProperty( "HighEnergy" , m_highEnergy = 1000.0*CLHEP::GeV , "Kill everything but muons up to this energy" );
15 declareProperty( "LowEnergy" , m_lowEnergy = 0.0*CLHEP::GeV , "Kill only electrons and positrons up to this energy" );
16 declareProperty( "ZCutoff" , m_zcutoff = 5698.*CLHEP::mm , "Z-position to start killing everything but muons" );
17}
double m_zcutoff
!< Kill only electrons and positrons up to this energy
double m_lowEnergy
!< Kill everything but muons up to this energy
FastSimulationBase(const std::string &type, const std::string &name, const IInterface *parent)

◆ ~DeadMaterialShowerTool()

DeadMaterialShowerTool::~DeadMaterialShowerTool ( )
inline

Definition at line 16 of file DeadMaterialShowerTool.h.

16{}

Member Function Documentation

◆ BeginOfAthenaEvent()

virtual StatusCode FastSimulationBase::BeginOfAthenaEvent ( )
inlineoverridevirtualinherited

Begin of an athena event - do anything that needs to be done at the beginning of each athena event.

Definition at line 42 of file FastSimulationBase.h.

42{ return StatusCode::SUCCESS; }

◆ EndOfAthenaEvent()

virtual StatusCode FastSimulationBase::EndOfAthenaEvent ( )
inlineoverridevirtualinherited

End of an athena event - do any tidying up required at the end of each athena event.

Definition at line 45 of file FastSimulationBase.h.

45{ return StatusCode::SUCCESS; }

◆ getRegion()

G4Region * FastSimulationBase::getRegion ( ) const
protectedinherited

Definition at line 18 of file FastSimulationBase.cxx.

19{
20 if (m_regionName.value().empty()) {
21 return nullptr;
22 }
23 return G4RegionStore::GetInstance()->GetRegion(m_regionName.value());
24}
Gaudi::Property< std::string > m_regionName
The region to which this fast sim is assigned.

◆ initializeFastSim()

StatusCode FastSimulationBase::initializeFastSim ( )
overrideinherited

Construct and setup the fast simulation model.

This method invokes the makeFastSimModel of the derived concrete tool type. It is the derived class's responsibility to assign the fast simulation model to the correct regions. The fast simulation model is registered for deletion. In multi-threaded jobs, this method is called once on each geant4 worker thread during detector construction (ConstructSDandField).

Definition at line 28 of file FastSimulationBase.cxx.

28 {
29 ATH_MSG_VERBOSE( name() << "::initializeFastSim()" );
30
31 // Instantiate the FastSimModel for this geant4 thread and register it for deletion
32 G4AutoDelete::Register(makeFastSimModel());
33
34 return StatusCode::SUCCESS;
35}
#define ATH_MSG_VERBOSE(x)

◆ makeFastSimModel()

G4VFastSimulationModel * DeadMaterialShowerTool::makeFastSimModel ( )
finaloverrideprotectedvirtual

Method to make the actual fast simulation model itself, which will be owned by the tool.

Must be implemented in all concrete base classes.

Definition at line 19 of file DeadMaterialShowerTool.cxx.

20{
21 ATH_MSG_DEBUG( "Initializing Fast Sim Model" );
22
23 // Create a fresh Fast Sim Model
24 return new DeadMaterialShower(name(), getRegion(), m_highEnergy, m_lowEnergy, m_zcutoff);
25}
#define ATH_MSG_DEBUG(x)
G4Region * getRegion() const

Member Data Documentation

◆ m_highEnergy

double DeadMaterialShowerTool::m_highEnergy
private

Definition at line 25 of file DeadMaterialShowerTool.h.

◆ m_lowEnergy

double DeadMaterialShowerTool::m_lowEnergy
private

!< Kill everything but muons up to this energy

Definition at line 26 of file DeadMaterialShowerTool.h.

◆ m_noRegions

Gaudi::Property<bool> FastSimulationBase::m_noRegions {this, "NoRegions", false}
protectedinherited

This Fast Simulation has no regions associated with it.

Definition at line 54 of file FastSimulationBase.h.

54{this, "NoRegions", false};

◆ m_regionName

Gaudi::Property<std::string> FastSimulationBase::m_regionName {this, "RegionName", ""}
protectedinherited

The region to which this fast sim is assigned.

Definition at line 52 of file FastSimulationBase.h.

52{this, "RegionName", ""};

◆ m_zcutoff

double DeadMaterialShowerTool::m_zcutoff
private

!< Kill only electrons and positrons up to this energy

Definition at line 27 of file DeadMaterialShowerTool.h.


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