Geant4 VMC Version 6.6
Loading...
Searching...
No Matches
TG4G3PhysicsManager.h
Go to the documentation of this file.
1#ifndef TG4_G3_PHYSICS_MANAGER_H
2#define TG4_G3_PHYSICS_MANAGER_H
3
4//------------------------------------------------
5// The Geant4 Virtual Monte Carlo package
6// Copyright (C) 2007 - 2014 Ivana Hrivnacova
7// All rights reserved.
8//
9// For the licensing terms see geant4_vmc/LICENSE.
10// Contact: root-vmc@cern.ch
11//-------------------------------------------------
12
17
18#include "TG4G3Control.h"
19#include "TG4G3Cut.h"
20#include "TG4G3Defaults.h"
21#include "TG4G3ParticleWSP.h"
22#include "TG4Globals.h"
23
24#include <Rtypes.h>
25
26#include <globals.hh>
27
28class TG4G3CutVector;
30
32class G4VProcess;
33
45
47{
48 public:
51
52 // static access method
54
55 // methods
56 void Lock();
57 void CheckLock();
58 G4bool CheckCutWithTheVector(G4String name, G4double value, TG4G3Cut& cut);
59 G4bool CheckControlWithTheVector(G4String name, G4double value,
60 TG4G3Control& control, TG4G3ControlValue& controlValue);
61
62 // set methods
63 void SetCut(TG4G3Cut cut, G4double cutValue);
64 void SetProcess(TG4G3Control control, TG4G3ControlValue controlValue);
65 void SetG3DefaultCuts();
67
68 // get methods
69 G4bool IsSpecialCuts() const;
70 G4bool IsSpecialControls() const;
71 G4bool IsGlobalSpecialControls() const;
76 // conversions
78 G4String GetG3ParticleWSPName(G4int particleWSP) const;
79
80 private:
85
86 // set methods
89
90 // static data members
92
93 //
94 // data members
95
98
101
104
107
110
112 G4bool fLock;
113};
114
115// inline methods
116
122
124{
127 fLock = true;
128}
129
131{
133 return fCutVector;
134}
135
141
147
153
154#endif // TG4_PHYSICS_MANAGER_H
Definition of the enumerations TG4G3Control, TG4G3ControlValue.
Definition of the enumeration TG4G3Cut.
Definition of the TG4G3Defaults class.
Definition of the enumeration TG4G3ParticleWSP.
Definition of the TG4Globals class and basic container types.
Vector of control process values with convenient set/get methods.
Vector of kinetic energy cut values with convenient set/get methods.
Default G3 kinetic energy cuts and control process values.
Provides a Geant3 way control to Geant4 physics.
G4bool IsGlobalSpecialControls() const
void SwitchIsCutVector(TG4G3Cut cut)
TG4G3ControlVector * GetControlVector() const
G4bool CheckControlWithTheVector(G4String name, G4double value, TG4G3Control &control, TG4G3ControlValue &controlValue)
TG4G3ControlVector * fControlVector
TG4G3ControlVector.
void SwitchIsControlVector(TG4G3Control control)
G4String GetG3ParticleWSPName(G4int particleWSP) const
void SetCut(TG4G3Cut cut, G4double cutValue)
TG4boolVector * fIsControlVector
vector of booleans which controls are set
TG4boolVector * fIsCutVector
vector of booleans which cuts are set
G4bool fLock
if true: cut/control vectors cannot be modified
TG4G3PhysicsManager(const TG4G3PhysicsManager &right)
Not implemented.
static TG4G3PhysicsManager * Instance()
TG4G3ParticleWSP GetG3ParticleWSP(G4ParticleDefinition *particle) const
void SetProcess(TG4G3Control control, TG4G3ControlValue controlValue)
static TG4G3PhysicsManager * fgInstance
this instance
TG4G3PhysicsManager & operator=(const TG4G3PhysicsManager &right)
Not implemented.
TG4boolVector * GetIsCutVector() const
TG4G3Defaults fG3Defaults
G3 default cuts/controls.
TG4G3CutVector * fCutVector
TG4G3CutVector.
TG4G3CutVector * GetCutVector() const
TG4boolVector * GetIsControlVector() const
G4bool CheckCutWithTheVector(G4String name, G4double value, TG4G3Cut &cut)
TG4G3ControlValue
Enumeration for G3 processes control values.
TG4G3Cut
Enumeration for G3 types of kinetic energy cuts.
Definition TG4G3Cut.h:22
std::vector< G4bool > TG4boolVector
Definition TG4Globals.h:37
TG4G3Control
Enumeration for G3 types of physics processes controls.
TG4G3ParticleWSP
The particles types which a special process (cuts, controls) is applicable for.