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

Provides a Geant3 way control to Geant4 physics. More...

#include <TG4G3PhysicsManager.h>

Public Member Functions

 TG4G3PhysicsManager ()
 
 ~TG4G3PhysicsManager ()
 
void Lock ()
 
void CheckLock ()
 
G4bool CheckCutWithTheVector (G4String name, G4double value, TG4G3Cut &cut)
 
G4bool CheckControlWithTheVector (G4String name, G4double value, TG4G3Control &control, TG4G3ControlValue &controlValue)
 
void SetCut (TG4G3Cut cut, G4double cutValue)
 
void SetProcess (TG4G3Control control, TG4G3ControlValue controlValue)
 
void SetG3DefaultCuts ()
 
void SetG3DefaultControls ()
 
G4bool IsSpecialCuts () const
 
G4bool IsSpecialControls () const
 
G4bool IsGlobalSpecialControls () const
 
TG4G3CutVectorGetCutVector () const
 
TG4G3ControlVectorGetControlVector () const
 
TG4boolVectorGetIsCutVector () const
 
TG4boolVectorGetIsControlVector () const
 
TG4G3ParticleWSP GetG3ParticleWSP (G4ParticleDefinition *particle) const
 
G4String GetG3ParticleWSPName (G4int particleWSP) const
 

Static Public Member Functions

static TG4G3PhysicsManagerInstance ()
 

Private Member Functions

 TG4G3PhysicsManager (const TG4G3PhysicsManager &right)
 Not implemented.
 
TG4G3PhysicsManageroperator= (const TG4G3PhysicsManager &right)
 Not implemented.
 
void SwitchIsCutVector (TG4G3Cut cut)
 
void SwitchIsControlVector (TG4G3Control control)
 

Private Attributes

TG4G3CutVectorfCutVector
 TG4G3CutVector.
 
TG4G3ControlVectorfControlVector
 TG4G3ControlVector.
 
TG4boolVectorfIsCutVector
 vector of booleans which cuts are set
 
TG4boolVectorfIsControlVector
 vector of booleans which controls are set
 
TG4G3Defaults fG3Defaults
 G3 default cuts/controls.
 
G4bool fLock
 if true: cut/control vectors cannot be modified
 

Static Private Attributes

static TG4G3PhysicsManagerfgInstance = 0
 this instance
 

Detailed Description

Provides a Geant3 way control to Geant4 physics.

The G3 cuts and process controls are stored in fCutVector and fControlVector vectors. These special cuts/controls are activated by registering their physics constructors (TG4PhysicsConstructorSpecialCuts, TG4PhysicsConstructorSpecialControl) to the physics list.

Author
I. Hrivnacova; IPN Orsay

Definition at line 46 of file TG4G3PhysicsManager.h.

Constructor & Destructor Documentation

◆ TG4G3PhysicsManager() [1/2]

TG4G3PhysicsManager::TG4G3PhysicsManager ( )

Default constructor

Definition at line 29 of file TG4G3PhysicsManager.cxx.

◆ ~TG4G3PhysicsManager()

TG4G3PhysicsManager::~TG4G3PhysicsManager ( )

Destructor

Definition at line 63 of file TG4G3PhysicsManager.cxx.

◆ TG4G3PhysicsManager() [2/2]

TG4G3PhysicsManager::TG4G3PhysicsManager ( const TG4G3PhysicsManager & right)
private

Not implemented.

Member Function Documentation

◆ Instance()

◆ Lock()

void TG4G3PhysicsManager::Lock ( )
inline

Lock - the cut/control vectors cannot be modified after calling this function

Definition at line 123 of file TG4G3PhysicsManager.h.

Referenced by TG4ComposedPhysicsList::ConstructProcess(), TG4SpecialPhysicsList::ConstructProcess(), and TG4PhysicsManager::Gstpar().

◆ CheckLock()

void TG4G3PhysicsManager::CheckLock ( )

Give exception in case the physics manager is locked. Prevent from modifying physics setup after the physics manager is locked.

Definition at line 225 of file TG4G3PhysicsManager.cxx.

Referenced by TG4PhysicsManager::SetCut(), SetG3DefaultControls(), SetG3DefaultCuts(), and TG4PhysicsManager::SetProcess().

◆ CheckCutWithTheVector()

G4bool TG4G3PhysicsManager::CheckCutWithTheVector ( G4String name,
G4double value,
TG4G3Cut & cut )

Retrieve corresponding TG4G3Cut from the name and in case the value is different from the value in cutVector and is valid, set true the value of the fIsCutVector element corresponding to this cut and return true; return false otherwise.

Definition at line 238 of file TG4G3PhysicsManager.cxx.

Referenced by TG4PhysicsManager::Gstpar().

◆ CheckControlWithTheVector()

G4bool TG4G3PhysicsManager::CheckControlWithTheVector ( G4String name,
G4double value,
TG4G3Control & control,
TG4G3ControlValue & controlValue )

Retrieve corresponding TG4G3Control from the name and in case the value is different from the value in controlVector set true the value of the fIsControlVector element corresponding to this control and return true; return false otherwise.

Definition at line 279 of file TG4G3PhysicsManager.cxx.

Referenced by TG4PhysicsManager::Gstpar().

◆ SetCut()

void TG4G3PhysicsManager::SetCut ( TG4G3Cut cut,
G4double cutValue )

Set kinetic energy cut (in a G3-like way).

Definition at line 80 of file TG4G3PhysicsManager.cxx.

Referenced by TG4PhysicsManager::SetCut().

◆ SetProcess()

void TG4G3PhysicsManager::SetProcess ( TG4G3Control control,
TG4G3ControlValue controlValue )

Set control process control (in a G3-like way).

Definition at line 92 of file TG4G3PhysicsManager.cxx.

Referenced by TG4PhysicsManager::SetProcess().

◆ SetG3DefaultCuts()

void TG4G3PhysicsManager::SetG3DefaultCuts ( )

Set G3 default values of kinetic energy cuts.

Definition at line 308 of file TG4G3PhysicsManager.cxx.

Referenced by TG4RunManager::UseG3Defaults().

◆ SetG3DefaultControls()

void TG4G3PhysicsManager::SetG3DefaultControls ( )

Set G3 default values of control process controls.

Definition at line 319 of file TG4G3PhysicsManager.cxx.

Referenced by TG4RunManager::UseG3Defaults().

◆ IsSpecialCuts()

G4bool TG4G3PhysicsManager::IsSpecialCuts ( ) const

Return true if any special cut value is set.

Definition at line 330 of file TG4G3PhysicsManager.cxx.

◆ IsSpecialControls()

G4bool TG4G3PhysicsManager::IsSpecialControls ( ) const

Return true if any special control value is set (per tracking medium) and is different from its global value

Definition at line 342 of file TG4G3PhysicsManager.cxx.

◆ IsGlobalSpecialControls()

G4bool TG4G3PhysicsManager::IsGlobalSpecialControls ( ) const

Return true if any global special control value is set

Definition at line 356 of file TG4G3PhysicsManager.cxx.

◆ GetCutVector()

TG4G3CutVector * TG4G3PhysicsManager::GetCutVector ( ) const
inline

◆ GetControlVector()

TG4G3ControlVector * TG4G3PhysicsManager::GetControlVector ( ) const
inline

◆ GetIsCutVector()

TG4boolVector * TG4G3PhysicsManager::GetIsCutVector ( ) const
inline

Return the vector of boolean info which cuts are set

Definition at line 142 of file TG4G3PhysicsManager.h.

Referenced by TG4VRegionsManager::GetGlobalEnergyCut(), and TG4PhysicsManager::SetSpecialCutsActivation().

◆ GetIsControlVector()

TG4boolVector * TG4G3PhysicsManager::GetIsControlVector ( ) const
inline

Return the vector of boolean info which controls are set

Definition at line 148 of file TG4G3PhysicsManager.h.

◆ GetG3ParticleWSP()

TG4G3ParticleWSP TG4G3PhysicsManager::GetG3ParticleWSP ( G4ParticleDefinition * particle) const

Return TG4G3ParticleWSP code for the specified particle. (See TG4G3ParticleWSP.h, too.)

Definition at line 368 of file TG4G3PhysicsManager.cxx.

Referenced by TG4SpecialCutsPhysics::ConstructProcess(), TG4PhysicsManager::SetSpecialCutsActivation(), and TG4SpecialControlsV2::StartTrack().

◆ GetG3ParticleWSPName()

G4String TG4G3PhysicsManager::GetG3ParticleWSPName ( G4int particleWSP) const

Return the name of the particle specified by TG4G3ParticleWSP constant. (See TG4G3ParticleWSP.h, too.)

Definition at line 403 of file TG4G3PhysicsManager.cxx.

Referenced by TG4SpecialCutsPhysics::ConstructProcess().

◆ operator=()

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

Not implemented.

◆ SwitchIsCutVector()

void TG4G3PhysicsManager::SwitchIsCutVector ( TG4G3Cut cut)
private

Update the vector of booleans (fIsCutVector) for the specified cut.

Definition at line 106 of file TG4G3PhysicsManager.cxx.

Referenced by CheckCutWithTheVector(), SetCut(), and SetProcess().

◆ SwitchIsControlVector()

void TG4G3PhysicsManager::SwitchIsControlVector ( TG4G3Control control)
private

Update the vector of booleans (fIsControlVector) for the specified control.

Definition at line 149 of file TG4G3PhysicsManager.cxx.

Referenced by CheckControlWithTheVector().

Member Data Documentation

◆ fgInstance

TG4G3PhysicsManager * TG4G3PhysicsManager::fgInstance = 0
staticprivate

this instance

Definition at line 91 of file TG4G3PhysicsManager.h.

Referenced by Instance(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().

◆ fCutVector

◆ fControlVector

◆ fIsCutVector

TG4boolVector* TG4G3PhysicsManager::fIsCutVector
private

vector of booleans which cuts are set

Definition at line 103 of file TG4G3PhysicsManager.h.

Referenced by GetIsCutVector(), IsSpecialCuts(), SetG3DefaultCuts(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().

◆ fIsControlVector

TG4boolVector* TG4G3PhysicsManager::fIsControlVector
private

vector of booleans which controls are set

Definition at line 106 of file TG4G3PhysicsManager.h.

Referenced by GetIsControlVector(), IsSpecialControls(), SetG3DefaultControls(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().

◆ fG3Defaults

TG4G3Defaults TG4G3PhysicsManager::fG3Defaults
private

G3 default cuts/controls.

Definition at line 109 of file TG4G3PhysicsManager.h.

◆ fLock

G4bool TG4G3PhysicsManager::fLock
private

if true: cut/control vectors cannot be modified

Definition at line 112 of file TG4G3PhysicsManager.h.

Referenced by CheckLock(), and Lock().


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