Geant4 VMC Version 6.6
|
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 29 of file TG4G3PhysicsManager.cxx.
TG4G3PhysicsManager::~TG4G3PhysicsManager | ( | ) |
Destructor
Definition at line 63 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(), TG4SpecialPhysicsList::ConstructProcess(), and TG4PhysicsManager::Gstpar().
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().
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().
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().
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().
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().
void TG4G3PhysicsManager::SetG3DefaultCuts | ( | ) |
Set G3 default values of kinetic energy cuts.
Definition at line 308 of file TG4G3PhysicsManager.cxx.
Referenced by TG4RunManager::UseG3Defaults().
void TG4G3PhysicsManager::SetG3DefaultControls | ( | ) |
Set G3 default values of control process controls.
Definition at line 319 of file TG4G3PhysicsManager.cxx.
Referenced by TG4RunManager::UseG3Defaults().
G4bool TG4G3PhysicsManager::IsSpecialCuts | ( | ) | const |
Return true if any special cut value is set.
Definition at line 330 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 342 of file TG4G3PhysicsManager.cxx.
G4bool TG4G3PhysicsManager::IsGlobalSpecialControls | ( | ) | const |
Return true if any global special control value is set
Definition at line 356 of file TG4G3PhysicsManager.cxx.
|
inline |
Return the vector of cut values
Definition at line 130 of file TG4G3PhysicsManager.h.
Referenced by TG4VRegionsManager::GetGlobalEnergyCut(), TG4PhysicsManager::GstparControl(), TG4PhysicsManager::GstparCut(), and TG4ComposedPhysicsMessenger::SetNewValue().
|
inline |
Return the vector of control values
Definition at line 136 of file TG4G3PhysicsManager.h.
Referenced by TG4PhysicsManager::GstparControl(), TG4PhysicsManager::GstparCut(), 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 368 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 403 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 106 of file TG4G3PhysicsManager.cxx.
Referenced by CheckCutWithTheVector(), SetCut(), and SetProcess().
|
private |
Update the vector of booleans (fIsControlVector) for the specified control.
Definition at line 149 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.
|
private |
if true: cut/control vectors cannot be modified
Definition at line 112 of file TG4G3PhysicsManager.h.
Referenced by CheckLock(), and Lock().