Geant4 VMC Version 6.7
|
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 |
TG4G3CutVector * | GetCutVector () const |
TG4G3ControlVector * | GetControlVector () const |
TG4boolVector * | GetIsCutVector () const |
TG4boolVector * | GetIsControlVector () const |
TG4G3ParticleWSP | GetG3ParticleWSP (G4ParticleDefinition *particle) const |
G4String | GetG3ParticleWSPName (G4int particleWSP) const |
Static Public Member Functions | |
static TG4G3PhysicsManager * | Instance () |
Private Member Functions | |
TG4G3PhysicsManager (const TG4G3PhysicsManager &right) | |
Not implemented. | |
TG4G3PhysicsManager & | operator= (const TG4G3PhysicsManager &right) |
Not implemented. | |
void | SwitchIsCutVector (TG4G3Cut cut) |
void | SwitchIsControlVector (TG4G3Control control) |
Private Attributes | |
TG4G3CutVector * | fCutVector |
TG4G3CutVector. | |
TG4G3ControlVector * | fControlVector |
TG4G3ControlVector. | |
TG4boolVector * | fIsCutVector |
vector of booleans which cuts are set | |
TG4boolVector * | fIsControlVector |
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 TG4G3PhysicsManager * | fgInstance = 0 |
this instance | |
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.
Definition at line 46 of file TG4G3PhysicsManager.h.
TG4G3PhysicsManager::TG4G3PhysicsManager | ( | ) |
Default constructor
Definition at line 28 of file TG4G3PhysicsManager.cxx.
Referenced by Instance(), operator=(), and TG4G3PhysicsManager().
TG4G3PhysicsManager::~TG4G3PhysicsManager | ( | ) |
Destructor
Definition at line 62 of file TG4G3PhysicsManager.cxx.
|
private |
Not implemented.
|
inlinestatic |
Return this instance
Definition at line 117 of file TG4G3PhysicsManager.h.
Referenced by TG4ComposedPhysicsList::ConstructProcess(), TG4SpecialCutsPhysics::ConstructProcess(), TG4SpecialPhysicsList::ConstructProcess(), TG4VRegionsManager::GetGlobalEnergyCut(), TG4RunManager::LateInitialize(), TG4ComposedPhysicsMessenger::SetNewValue(), TG4PhysicsManager::SetProcessActivation(), TG4PhysicsManager::SetSpecialControlsActivation(), TG4PhysicsManager::SetSpecialCutsActivation(), TG4SpecialControlsV2::StartTrack(), and TG4RunManager::UseG3Defaults().
|
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(), and TG4SpecialPhysicsList::ConstructProcess().
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 224 of file TG4G3PhysicsManager.cxx.
Referenced by SetG3DefaultControls(), and SetG3DefaultCuts().
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 237 of file TG4G3PhysicsManager.cxx.
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 278 of file TG4G3PhysicsManager.cxx.
void TG4G3PhysicsManager::SetCut | ( | TG4G3Cut | cut, |
G4double | cutValue ) |
Set kinetic energy cut (in a G3-like way).
Definition at line 79 of file TG4G3PhysicsManager.cxx.
void TG4G3PhysicsManager::SetProcess | ( | TG4G3Control | control, |
TG4G3ControlValue | controlValue ) |
Set control process control (in a G3-like way).
Definition at line 91 of file TG4G3PhysicsManager.cxx.
void TG4G3PhysicsManager::SetG3DefaultCuts | ( | ) |
Set G3 default values of kinetic energy cuts.
Definition at line 307 of file TG4G3PhysicsManager.cxx.
Referenced by TG4RunManager::UseG3Defaults().
void TG4G3PhysicsManager::SetG3DefaultControls | ( | ) |
Set G3 default values of control process controls.
Definition at line 318 of file TG4G3PhysicsManager.cxx.
Referenced by TG4RunManager::UseG3Defaults().
G4bool TG4G3PhysicsManager::IsSpecialCuts | ( | ) | const |
Return true if any special cut value is set.
Definition at line 329 of file TG4G3PhysicsManager.cxx.
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 341 of file TG4G3PhysicsManager.cxx.
G4bool TG4G3PhysicsManager::IsGlobalSpecialControls | ( | ) | const |
Return true if any global special control value is set
Definition at line 355 of file TG4G3PhysicsManager.cxx.
|
inline |
Return the vector of cut values
Definition at line 130 of file TG4G3PhysicsManager.h.
Referenced by TG4VRegionsManager::GetGlobalEnergyCut(), and TG4ComposedPhysicsMessenger::SetNewValue().
|
inline |
Return the vector of control values
Definition at line 136 of file TG4G3PhysicsManager.h.
Referenced by TG4ComposedPhysicsMessenger::SetNewValue(), and TG4PhysicsManager::SetSpecialControlsActivation().
|
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().
|
inline |
Return the vector of boolean info which controls are set
Definition at line 148 of file TG4G3PhysicsManager.h.
TG4G3ParticleWSP TG4G3PhysicsManager::GetG3ParticleWSP | ( | G4ParticleDefinition * | particle | ) | const |
Return TG4G3ParticleWSP code for the specified particle. (See TG4G3ParticleWSP.h, too.)
Definition at line 367 of file TG4G3PhysicsManager.cxx.
Referenced by TG4SpecialCutsPhysics::ConstructProcess(), TG4PhysicsManager::SetSpecialCutsActivation(), and TG4SpecialControlsV2::StartTrack().
G4String TG4G3PhysicsManager::GetG3ParticleWSPName | ( | G4int | particleWSP | ) | const |
Return the name of the particle specified by TG4G3ParticleWSP constant. (See TG4G3ParticleWSP.h, too.)
Definition at line 402 of file TG4G3PhysicsManager.cxx.
Referenced by TG4SpecialCutsPhysics::ConstructProcess().
|
private |
Not implemented.
|
private |
Update the vector of booleans (fIsCutVector) for the specified cut.
Definition at line 105 of file TG4G3PhysicsManager.cxx.
Referenced by CheckCutWithTheVector(), SetCut(), and SetProcess().
|
private |
Update the vector of booleans (fIsControlVector) for the specified control.
Definition at line 148 of file TG4G3PhysicsManager.cxx.
Referenced by CheckControlWithTheVector().
|
staticprivate |
this instance
Definition at line 91 of file TG4G3PhysicsManager.h.
Referenced by Instance(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().
|
private |
Definition at line 97 of file TG4G3PhysicsManager.h.
Referenced by CheckCutWithTheVector(), GetCutVector(), SetCut(), SetG3DefaultCuts(), SetProcess(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().
|
private |
Definition at line 100 of file TG4G3PhysicsManager.h.
Referenced by CheckControlWithTheVector(), GetControlVector(), IsGlobalSpecialControls(), SetG3DefaultControls(), SetProcess(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().
|
private |
vector of booleans which cuts are set
Definition at line 103 of file TG4G3PhysicsManager.h.
Referenced by GetIsCutVector(), IsSpecialCuts(), SetG3DefaultCuts(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().
|
private |
vector of booleans which controls are set
Definition at line 106 of file TG4G3PhysicsManager.h.
Referenced by GetIsControlVector(), IsSpecialControls(), SetG3DefaultControls(), TG4G3PhysicsManager(), and ~TG4G3PhysicsManager().
|
private |
G3 default cuts/controls.
Definition at line 109 of file TG4G3PhysicsManager.h.
Referenced by TG4G3PhysicsManager().
|
private |
if true: cut/control vectors cannot be modified
Definition at line 112 of file TG4G3PhysicsManager.h.
Referenced by CheckLock(), Lock(), and TG4G3PhysicsManager().