Geant4  10.01.p01
G4EmParameters.hh
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 // $Id: G4EmParameters.hh 66885 2013-01-16 17:37:13Z gunter $
27 //
28 //
29 // -------------------------------------------------------------------
30 //
31 // GEANT4 Class header file
32 //
33 //
34 // File name: G4EmParameters
35 //
36 // Author: Vladimir Ivanchenko for migration to MT
37 //
38 //
39 // Creation date: 17.05.2013
40 //
41 // Modifications:
42 //
43 //
44 // Class Description:
45 //
46 // A utility static class, responsable for keeping parameters
47 // for all EM physics processes and models.
48 //
49 // It is initialized by the master thread but can be updated
50 // at any moment. Parameters may be used in run time or at
51 // initialisation
52 //
53 // -------------------------------------------------------------------
54 //
55 
56 #ifndef G4EmParameters_h
57 #define G4EmParameters_h 1
58 
59 #include "globals.hh"
60 #include "G4MscStepLimitType.hh"
61 
63 
65 {
66 public:
67 
68  static G4EmParameters* Instance();
69 
71 
72  void SetLossFluctuations(G4bool val);
73  G4bool LossFluctuation() const;
74 
75  void SetBuildCSDARange(G4bool val);
76  G4bool BuildCSDARange() const;
77 
78  void SetLPM(G4bool val);
79  G4bool LPM() const;
80 
81  void SetSpline(G4bool val);
82  G4bool Spline() const;
83 
84  void SetUseCutAsFinalRange(G4bool val);
85  G4bool UseCutAsFinalRange() const;
86 
87  void SetApplyCuts(G4bool val);
88  G4bool ApplyCuts() const;
89 
90  void SetFluo(G4bool val);
91  G4bool Fluo() const;
92 
93  void SetAuger(G4bool val);
94  G4bool Auger() const;
95 
96  void SetPixe(G4bool val);
97  G4bool Pixe() const;
98 
101 
102  void SetLateralDisplacement(G4bool val);
103  G4bool LateralDisplacement() const;
104 
107 
110 
113 
114  void SetMinSubRange(G4double val);
115  G4double MinSubRange() const;
116 
117  void SetMinEnergy(G4double val);
118  G4double MinKinEnergy() const;
119 
120  void SetMaxEnergy(G4double val);
121  G4double MaxKinEnergy() const;
122 
125 
126  void SetLinearLossLimit(G4double val);
127  G4double LinearLossLimit() const;
128 
129  void SetBremsstrahlungTh(G4double val);
130  G4double BremsstrahlungTh() const;
131 
132  void SetLambdaFactor(G4double val);
133  G4double LambdaFactor() const;
134 
137 
138  void SetMscThetaLimit(G4double val);
139  G4double MscThetaLimit() const;
140 
141  void SetMscRangeFactor(G4double val);
142  G4double MscRangeFactor() const;
143 
144  void SetMscGeomFactor(G4double val);
145  G4double MscGeomFactor() const;
146 
147  void SetMscSkin(G4double val);
148  G4double MscSkin() const;
149 
150  void SetNumberOfBins(G4int val);
151  G4int NumberOfBins() const;
152 
155 
156  void SetVerbose(G4int val);
157  G4int Verbose() const;
158 
159  void SetWorkerVerbose(G4int val);
160  G4int WorkerVerbose() const;
161 
164 
165 private:
166 
167  G4EmParameters();
168 
170 
172 
174 
189 
202 
207 
209 };
210 
211 //....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
212 
213 #endif
214 
G4bool UseCutAsFinalRange() const
static G4EmParameters * theInstance
void SetLossFluctuations(G4bool val)
G4int NumberOfBinsPerDecade() const
void SetApplyCuts(G4bool val)
G4MscStepLimitType mscStepLimit
G4int NumberOfBins() const
void SetVerbose(G4int val)
G4bool Spline() const
G4int WorkerVerbose() const
G4double MaxKinEnergy() const
void SetDeexcitationIgnoreCut(G4bool val)
std::ostringstream G4ExceptionDescription
Definition: globals.hh:76
void SetLatDisplacementBeyondSafety(G4bool val)
void SetMscStepLimitType(G4MscStepLimitType val)
G4double linLossLimit
void SetLinearLossLimit(G4double val)
G4double MscGeomFactor() const
G4double MscThetaLimit() const
void SetAuger(G4bool val)
G4double maxKinEnergy
G4bool muhadLateralDisplacement
void SetNumberOfBins(G4int val)
void SetMinSubRange(G4double val)
G4bool LPM() const
void SetMaxEnergyForCSDARange(G4double val)
G4bool ApplyCuts() const
G4bool Fluo() const
int G4int
Definition: G4Types.hh:78
void SetMaxEnergy(G4double val)
void SetBremsstrahlungTh(G4double val)
G4double MinSubRange() const
G4bool DeexcitationIgnoreCut() const
G4bool LatDisplacementBeyondSafety() const
void SetLateralDisplacement(G4bool val)
G4bool BuildCSDARange() const
void SetWorkerVerbose(G4int val)
G4bool lateralDisplacement
G4double LinearLossLimit() const
G4double LambdaFactor() const
G4int Verbose() const
G4bool MuHadLateralDisplacement() const
bool G4bool
Definition: G4Types.hh:79
void SetMscRangeFactor(G4double val)
void SetNumberOfBinsPerDecade(G4int val)
G4bool LateralDisplacement() const
G4double minSubRange
void SetMscGeomFactor(G4double val)
G4double MinKinEnergy() const
G4double lambdaFactor
void SetBuildCSDARange(G4bool val)
G4bool Auger() const
G4bool LossFluctuation() const
void SetPixe(G4bool val)
void SetSpline(G4bool val)
void SetMuHadLateralDisplacement(G4bool val)
G4double maxKinEnergyCSDA
void SetMinEnergy(G4double val)
void SetLPM(G4bool val)
G4bool UseAngularGeneratorForIonisation() const
G4MscStepLimitType
G4double BremsstrahlungTh() const
static G4EmParameters * Instance()
G4double MscRangeFactor() const
void ActivateAngularGeneratorForIonisation(G4bool val)
void SetUseCutAsFinalRange(G4bool val)
G4bool latDisplacementBeyondSafety
G4bool Pixe() const
G4double minKinEnergy
G4MscStepLimitType MscStepLimitType() const
void SetMscThetaLimit(G4double val)
void SetLambdaFactor(G4double val)
void SetFactorForAngleLimit(G4double val)
double G4double
Definition: G4Types.hh:76
G4bool useAngGeneratorForIonisation
void PrintWarning(G4ExceptionDescription &ed)
G4EmParametersMessenger * theMessenger
G4double MaxEnergyForCSDARange() const
G4double MscSkin() const
void SetFluo(G4bool val)
G4double FactorForAngleLimit() const
void SetMscSkin(G4double val)
G4double rangeFactor
G4double factorForAngleLimit