Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4FastSimulationPhysics Class Reference

Physics builder which activates selected fast simulation models. More...

#include <TG4FastSimulationPhysics.h>

Inheritance diagram for TG4FastSimulationPhysics:

Public Types

typedef std::map< G4String, G4FastSimulationManagerProcess * > ProcessMap
 

Public Member Functions

 TG4FastSimulationPhysics (const G4String &name="FastSimulation")
 
 TG4FastSimulationPhysics (G4int theVerboseLevel, const G4String &name="FastSimulation")
 
virtual ~TG4FastSimulationPhysics ()
 
void SetUserFastSimulation (TG4VUserFastSimulation *userFastSimulation)
 
virtual void ConstructProcess ()
 Construct physics processes.
 
- Public Member Functions inherited from TG4VPhysicsConstructor
 TG4VPhysicsConstructor (const G4String &name)
 
 TG4VPhysicsConstructor (const G4String &name, G4int theVerboseLevel)
 
virtual ~TG4VPhysicsConstructor ()
 
- Public Member Functions inherited from TG4Verbose
 TG4Verbose (const G4String &cmdName)
 
 TG4Verbose (const G4String &cmdName, G4int verboseLevel)
 
virtual ~TG4Verbose ()
 

Protected Member Functions

virtual void ConstructParticle ()
 Construct particles.
 
- Protected Member Functions inherited from TG4VPhysicsConstructor
virtual void VerboseLevel (G4int level)
 
virtual G4int VerboseLevel () const
 

Private Member Functions

 TG4FastSimulationPhysics (const TG4FastSimulationPhysics &right)
 Not implemented.
 
TG4FastSimulationPhysicsoperator= (const TG4FastSimulationPhysics &right)
 Not implemented.
 
G4FastSimulationManagerProcess * GetOrCreateFastSimulationProcess (const G4String &modelName)
 
void UpdateRegions (const std::vector< TG4ModelConfiguration * > &models)
 
void AddFastSimulationProcess (const std::vector< TG4ModelConfiguration * > &models)
 

Private Attributes

TG4VUserFastSimulationfUserFastSimulation
 the user fast simulation
 

Static Private Attributes

static G4ThreadLocal ProcessMapfgProcessMap = 0
 fast simulation processes map
 

Detailed Description

Physics builder which activates selected fast simulation models.

The fast simulation models are constructed via user fast simulation class derived from TG4VUserFastSimulation, created via user run conficuration class. The call is triggered from TG4RunManager, after geometry and physics manager have been instantiated.

Author
I. Hrivnacova; IPN Orsay

Definition at line 39 of file TG4FastSimulationPhysics.h.

Member Typedef Documentation

◆ ProcessMap

std::map<G4String, G4FastSimulationManagerProcess*> TG4FastSimulationPhysics::ProcessMap

Definition at line 42 of file TG4FastSimulationPhysics.h.

Constructor & Destructor Documentation

◆ TG4FastSimulationPhysics() [1/3]

TG4FastSimulationPhysics::TG4FastSimulationPhysics ( const G4String & name = "FastSimulation")

Standard constructor

Definition at line 33 of file TG4FastSimulationPhysics.cxx.

◆ TG4FastSimulationPhysics() [2/3]

TG4FastSimulationPhysics::TG4FastSimulationPhysics ( G4int theVerboseLevel,
const G4String & name = "FastSimulation" )

Standard constructor

Definition at line 40 of file TG4FastSimulationPhysics.cxx.

◆ ~TG4FastSimulationPhysics()

TG4FastSimulationPhysics::~TG4FastSimulationPhysics ( )
virtual

Destructor

Definition at line 48 of file TG4FastSimulationPhysics.cxx.

◆ TG4FastSimulationPhysics() [3/3]

TG4FastSimulationPhysics::TG4FastSimulationPhysics ( const TG4FastSimulationPhysics & right)
private

Not implemented.

Member Function Documentation

◆ SetUserFastSimulation()

void TG4FastSimulationPhysics::SetUserFastSimulation ( TG4VUserFastSimulation * userFastSimulation)

Set user fast simulation class. Print a warning if fUserFastSimulation is already defined and ignore setting.

Definition at line 270 of file TG4FastSimulationPhysics.cxx.

Referenced by TG4SpecialPhysicsList::Configure(), and TG4SpecialPhysicsList::SetUserFastSimulation().

◆ ConstructParticle()

void TG4FastSimulationPhysics::ConstructParticle ( )
protectedvirtual

Construct particles.

Instantiate particles - nothing to be done here

Implements TG4VPhysicsConstructor.

Definition at line 222 of file TG4FastSimulationPhysics.cxx.

◆ ConstructProcess()

void TG4FastSimulationPhysics::ConstructProcess ( )
virtual

Construct physics processes.

Implements TG4VPhysicsConstructor.

Definition at line 228 of file TG4FastSimulationPhysics.cxx.

◆ operator=()

TG4FastSimulationPhysics & TG4FastSimulationPhysics::operator= ( const TG4FastSimulationPhysics & right)
private

Not implemented.

◆ GetOrCreateFastSimulationProcess()

G4FastSimulationManagerProcess * TG4FastSimulationPhysics::GetOrCreateFastSimulationProcess ( const G4String & modelName)
private

Get thread-local fast simulation process and create one if it does not yet exist.

Definition at line 141 of file TG4FastSimulationPhysics.cxx.

Referenced by AddFastSimulationProcess().

◆ UpdateRegions()

void TG4FastSimulationPhysics::UpdateRegions ( const std::vector< TG4ModelConfiguration * > & models)
private

Definition at line 67 of file TG4FastSimulationPhysics.cxx.

Referenced by ConstructProcess().

◆ AddFastSimulationProcess()

void TG4FastSimulationPhysics::AddFastSimulationProcess ( const std::vector< TG4ModelConfiguration * > & models)
private

Loop over all particles and their processes and check if the process is present in the map

Definition at line 169 of file TG4FastSimulationPhysics.cxx.

Referenced by ConstructProcess().

Member Data Documentation

◆ fgProcessMap

G4ThreadLocal TG4FastSimulationPhysics::ProcessMap * TG4FastSimulationPhysics::fgProcessMap = 0
staticprivate

fast simulation processes map

Definition at line 77 of file TG4FastSimulationPhysics.h.

Referenced by GetOrCreateFastSimulationProcess(), and ~TG4FastSimulationPhysics().

◆ fUserFastSimulation

TG4VUserFastSimulation* TG4FastSimulationPhysics::fUserFastSimulation
private

the user fast simulation

Definition at line 82 of file TG4FastSimulationPhysics.h.

Referenced by ConstructProcess(), and SetUserFastSimulation().


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