Geant4-11
Toggle main menu visibility
Main Page
Related Pages
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
m
n
p
r
s
t
w
y
Enumerations
a
b
c
d
e
f
g
l
m
p
r
s
t
v
y
z
Enumerator
a
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
z
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Enumerations
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Related Functions
:
a
b
c
d
g
h
i
o
q
r
s
t
Files
File List
Globals
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
x
z
Enumerations
b
c
d
e
f
g
i
j
l
m
n
p
r
s
t
w
x
Enumerator
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Macros
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
x
y
z
Examples
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
source
processes
electromagnetic
utils
include
G4EmExtraParameters.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
// -------------------------------------------------------------------
27
//
28
// GEANT4 Class header file
29
//
30
// File name: G4EmExtraParameters
31
//
32
// Author: Vladimir Ivanchenko
33
//
34
// Creation date: 06.05.2019
35
//
36
// Class Description:
37
//
38
// An internal utility class, responsable for keeping parameters
39
// for EM processes and models.
40
//
41
// It is initialized by the master thread but can be updated
42
// at any moment via G4EmParameters interface. It is not assumed
43
// to be used for a direct initialisation
44
//
45
// -------------------------------------------------------------------
46
//
47
48
#ifndef G4EmExtraParameters_h
49
#define G4EmExtraParameters_h 1
50
51
#include "
globals.hh
"
52
#include "
G4ios.hh
"
53
#include "
G4ThreeVector.hh
"
54
#include <vector>
55
56
class
G4EmExtraParametersMessenger
;
57
class
G4VEnergyLossProcess
;
58
class
G4VEmProcess
;
59
class
G4ParticleDefinition
;
60
class
G4VAtomDeexcitation
;
61
62
class
G4EmExtraParameters
63
{
64
public
:
65
66
explicit
G4EmExtraParameters
();
67
68
~G4EmExtraParameters
();
69
70
void
Initialise
();
71
72
G4bool
GetDirectionalSplitting
();
73
void
SetDirectionalSplitting
(
G4bool
v);
74
75
G4bool
QuantumEntanglement
();
76
void
SetQuantumEntanglement
(
G4bool
v);
77
78
void
SetDirectionalSplittingRadius
(
G4double
r);
79
G4double
GetDirectionalSplittingRadius
();
80
81
void
SetDirectionalSplittingTarget
(
const
G4ThreeVector
& v);
82
G4ThreeVector
GetDirectionalSplittingTarget
()
const
;
83
84
void
SetStepFunction
(
G4double
v1,
G4double
v2);
85
G4double
GetStepFunctionP1
()
const
;
86
G4double
GetStepFunctionP2
()
const
;
87
88
void
SetStepFunctionMuHad
(
G4double
v1,
G4double
v2);
89
G4double
GetStepFunctionMuHadP1
()
const
;
90
G4double
GetStepFunctionMuHadP2
()
const
;
91
92
void
SetStepFunctionLightIons
(
G4double
v1,
G4double
v2);
93
G4double
GetStepFunctionLightIonsP1
()
const
;
94
G4double
GetStepFunctionLightIonsP2
()
const
;
95
96
void
SetStepFunctionIons
(
G4double
v1,
G4double
v2);
97
G4double
GetStepFunctionIonsP1
()
const
;
98
G4double
GetStepFunctionIonsP2
()
const
;
99
100
void
FillStepFunction
(
const
G4ParticleDefinition
*,
G4VEnergyLossProcess
*)
const
;
101
102
// parameters per region or per process
103
void
AddPAIModel
(
const
G4String
& particle,
104
const
G4String
& region,
105
const
G4String
& type);
106
const
std::vector<G4String>&
ParticlesPAI
()
const
;
107
const
std::vector<G4String>&
RegionsPAI
()
const
;
108
const
std::vector<G4String>&
TypesPAI
()
const
;
109
110
void
AddPhysics
(
const
G4String
& region,
const
G4String
& type);
111
const
std::vector<G4String>&
RegionsPhysics
()
const
;
112
const
std::vector<G4String>&
TypesPhysics
()
const
;
113
114
void
SetSubCutRegion
(
const
G4String
& region);
115
116
void
SetProcessBiasingFactor
(
const
G4String
& procname,
117
G4double
val,
G4bool
wflag);
118
119
void
ActivateForcedInteraction
(
const
G4String
& procname,
120
const
G4String
& region,
121
G4double
length,
122
G4bool
wflag);
123
124
void
ActivateSecondaryBiasing
(
const
G4String
&
name
,
125
const
G4String
& region,
126
G4double
factor,
127
G4double
energyLimit);
128
129
// initialisation methods
130
void
DefineRegParamForLoss
(
G4VEnergyLossProcess
*)
const
;
131
void
DefineRegParamForEM
(
G4VEmProcess
*)
const
;
132
133
G4EmExtraParameters
(
G4EmExtraParameters
&) =
delete
;
134
G4EmExtraParameters
&
operator
=
135
(
const
G4EmExtraParameters
&right) =
delete
;
136
137
private
:
138
139
G4String
CheckRegion
(
const
G4String
&)
const
;
140
141
void
PrintWarning
(
G4ExceptionDescription
& ed)
const
;
142
143
G4EmExtraParametersMessenger
*
theMessenger
;
144
145
G4bool
directionalSplitting
;
146
G4bool
quantumEntanglement
;
147
148
G4double
dRoverRange
;
149
G4double
finalRange
;
150
G4double
dRoverRangeMuHad
;
151
G4double
finalRangeMuHad
;
152
G4double
dRoverRangeLIons
;
153
G4double
finalRangeLIons
;
154
G4double
dRoverRangeIons
;
155
G4double
finalRangeIons
;
156
157
G4double
directionalSplittingRadius
;
158
G4ThreeVector
directionalSplittingTarget
;
159
160
std::vector<G4String>
m_particlesPAI
;
161
std::vector<G4String>
m_regnamesPAI
;
162
std::vector<G4String>
m_typesPAI
;
163
164
std::vector<G4String>
m_regnamesPhys
;
165
std::vector<G4String>
m_typesPhys
;
166
167
std::vector<G4String>
m_regnamesSubCut
;
168
169
std::vector<G4String>
m_procBiasedXS
;
170
std::vector<G4double>
m_factBiasedXS
;
171
std::vector<G4bool>
m_weightBiasedXS
;
172
173
std::vector<G4String>
m_procForced
;
174
std::vector<G4String>
m_regnamesForced
;
175
std::vector<G4double>
m_lengthForced
;
176
std::vector<G4bool>
m_weightForced
;
177
178
std::vector<G4String>
m_procBiasedSec
;
179
std::vector<G4String>
m_regnamesBiasedSec
;
180
std::vector<G4double>
m_factBiasedSec
;
181
std::vector<G4double>
m_elimBiasedSec
;
182
};
183
184
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
185
186
#endif
G4ExceptionDescription
std::ostringstream G4ExceptionDescription
Definition:
G4Exception.hh:40
G4ThreeVector.hh
G4double
double G4double
Definition:
G4Types.hh:83
G4bool
bool G4bool
Definition:
G4Types.hh:86
G4ios.hh
CLHEP::Hep3Vector
Definition:
ThreeVector.h:36
G4EmExtraParametersMessenger
Definition:
G4EmExtraParametersMessenger.hh:65
G4EmExtraParameters
Definition:
G4EmExtraParameters.hh:63
G4EmExtraParameters::GetStepFunctionP1
G4double GetStepFunctionP1() const
Definition:
G4EmExtraParameters.cc:123
G4EmExtraParameters::m_procBiasedXS
std::vector< G4String > m_procBiasedXS
Definition:
G4EmExtraParameters.hh:169
G4EmExtraParameters::GetStepFunctionP2
G4double GetStepFunctionP2() const
Definition:
G4EmExtraParameters.cc:128
G4EmExtraParameters::SetQuantumEntanglement
void SetQuantumEntanglement(G4bool v)
Definition:
G4EmExtraParameters.cc:449
G4EmExtraParameters::SetStepFunctionMuHad
void SetStepFunctionMuHad(G4double v1, G4double v2)
Definition:
G4EmExtraParameters.cc:133
G4EmExtraParameters::finalRange
G4double finalRange
Definition:
G4EmExtraParameters.hh:149
G4EmExtraParameters::m_typesPhys
std::vector< G4String > m_typesPhys
Definition:
G4EmExtraParameters.hh:165
G4EmExtraParameters::SetDirectionalSplittingRadius
void SetDirectionalSplittingRadius(G4double r)
Definition:
G4EmExtraParameters.cc:474
G4EmExtraParameters::PrintWarning
void PrintWarning(G4ExceptionDescription &ed) const
Definition:
G4EmExtraParameters.cc:96
G4EmExtraParameters::m_factBiasedXS
std::vector< G4double > m_factBiasedXS
Definition:
G4EmExtraParameters.hh:170
G4EmExtraParameters::GetStepFunctionIonsP2
G4double GetStepFunctionIonsP2() const
Definition:
G4EmExtraParameters.cc:197
G4EmExtraParameters::dRoverRangeIons
G4double dRoverRangeIons
Definition:
G4EmExtraParameters.hh:154
G4EmExtraParameters::finalRangeIons
G4double finalRangeIons
Definition:
G4EmExtraParameters.hh:155
G4EmExtraParameters::m_typesPAI
std::vector< G4String > m_typesPAI
Definition:
G4EmExtraParameters.hh:162
G4EmExtraParameters::m_particlesPAI
std::vector< G4String > m_particlesPAI
Definition:
G4EmExtraParameters.hh:160
G4EmExtraParameters::G4EmExtraParameters
G4EmExtraParameters(G4EmExtraParameters &)=delete
G4EmExtraParameters::quantumEntanglement
G4bool quantumEntanglement
Definition:
G4EmExtraParameters.hh:146
G4EmExtraParameters::dRoverRange
G4double dRoverRange
Definition:
G4EmExtraParameters.hh:148
G4EmExtraParameters::directionalSplitting
G4bool directionalSplitting
Definition:
G4EmExtraParameters.hh:145
G4EmExtraParameters::m_lengthForced
std::vector< G4double > m_lengthForced
Definition:
G4EmExtraParameters.hh:175
G4EmExtraParameters::SetStepFunctionIons
void SetStepFunctionIons(G4double v1, G4double v2)
Definition:
G4EmExtraParameters.cc:179
G4EmExtraParameters::ParticlesPAI
const std::vector< G4String > & ParticlesPAI() const
Definition:
G4EmExtraParameters.cc:247
G4EmExtraParameters::m_regnamesForced
std::vector< G4String > m_regnamesForced
Definition:
G4EmExtraParameters.hh:174
G4EmExtraParameters::GetStepFunctionMuHadP1
G4double GetStepFunctionMuHadP1() const
Definition:
G4EmExtraParameters.cc:146
G4EmExtraParameters::m_procBiasedSec
std::vector< G4String > m_procBiasedSec
Definition:
G4EmExtraParameters.hh:178
G4EmExtraParameters::m_factBiasedSec
std::vector< G4double > m_factBiasedSec
Definition:
G4EmExtraParameters.hh:180
G4EmExtraParameters::dRoverRangeMuHad
G4double dRoverRangeMuHad
Definition:
G4EmExtraParameters.hh:150
G4EmExtraParameters::theMessenger
G4EmExtraParametersMessenger * theMessenger
Definition:
G4EmExtraParameters.hh:143
G4EmExtraParameters::ActivateForcedInteraction
void ActivateForcedInteraction(const G4String &procname, const G4String ®ion, G4double length, G4bool wflag)
Definition:
G4EmExtraParameters.cc:321
G4EmExtraParameters::GetDirectionalSplitting
G4bool GetDirectionalSplitting()
Definition:
G4EmExtraParameters.cc:454
G4EmExtraParameters::directionalSplittingRadius
G4double directionalSplittingRadius
Definition:
G4EmExtraParameters.hh:157
G4EmExtraParameters::QuantumEntanglement
G4bool QuantumEntanglement()
Definition:
G4EmExtraParameters.cc:444
G4EmExtraParameters::directionalSplittingTarget
G4ThreeVector directionalSplittingTarget
Definition:
G4EmExtraParameters.hh:158
G4EmExtraParameters::~G4EmExtraParameters
~G4EmExtraParameters()
Definition:
G4EmExtraParameters.cc:63
G4EmExtraParameters::ActivateSecondaryBiasing
void ActivateSecondaryBiasing(const G4String &name, const G4String ®ion, G4double factor, G4double energyLimit)
Definition:
G4EmExtraParameters.cc:350
G4EmExtraParameters::m_elimBiasedSec
std::vector< G4double > m_elimBiasedSec
Definition:
G4EmExtraParameters.hh:181
G4EmExtraParameters::SetDirectionalSplitting
void SetDirectionalSplitting(G4bool v)
Definition:
G4EmExtraParameters.cc:458
G4EmExtraParameters::TypesPhysics
const std::vector< G4String > & TypesPhysics() const
Definition:
G4EmExtraParameters.cc:279
G4EmExtraParameters::Initialise
void Initialise()
Definition:
G4EmExtraParameters.cc:70
G4EmExtraParameters::TypesPAI
const std::vector< G4String > & TypesPAI() const
Definition:
G4EmExtraParameters.cc:257
G4EmExtraParameters::m_procForced
std::vector< G4String > m_procForced
Definition:
G4EmExtraParameters.hh:173
G4EmExtraParameters::DefineRegParamForEM
void DefineRegParamForEM(G4VEmProcess *) const
Definition:
G4EmExtraParameters.cc:414
G4EmExtraParameters::SetDirectionalSplittingTarget
void SetDirectionalSplittingTarget(const G4ThreeVector &v)
Definition:
G4EmExtraParameters.cc:464
G4EmExtraParameters::dRoverRangeLIons
G4double dRoverRangeLIons
Definition:
G4EmExtraParameters.hh:152
G4EmExtraParameters::m_regnamesSubCut
std::vector< G4String > m_regnamesSubCut
Definition:
G4EmExtraParameters.hh:167
G4EmExtraParameters::CheckRegion
G4String CheckRegion(const G4String &) const
Definition:
G4EmExtraParameters.cc:101
G4EmExtraParameters::RegionsPAI
const std::vector< G4String > & RegionsPAI() const
Definition:
G4EmExtraParameters.cc:252
G4EmExtraParameters::SetSubCutRegion
void SetSubCutRegion(const G4String ®ion)
Definition:
G4EmExtraParameters.cc:284
G4EmExtraParameters::m_weightBiasedXS
std::vector< G4bool > m_weightBiasedXS
Definition:
G4EmExtraParameters.hh:171
G4EmExtraParameters::GetStepFunctionLightIonsP1
G4double GetStepFunctionLightIonsP1() const
Definition:
G4EmExtraParameters.cc:169
G4EmExtraParameters::m_regnamesPAI
std::vector< G4String > m_regnamesPAI
Definition:
G4EmExtraParameters.hh:161
G4EmExtraParameters::FillStepFunction
void FillStepFunction(const G4ParticleDefinition *, G4VEnergyLossProcess *) const
Definition:
G4EmExtraParameters.cc:202
G4EmExtraParameters::SetProcessBiasingFactor
void SetProcessBiasingFactor(const G4String &procname, G4double val, G4bool wflag)
Definition:
G4EmExtraParameters.cc:297
G4EmExtraParameters::finalRangeMuHad
G4double finalRangeMuHad
Definition:
G4EmExtraParameters.hh:151
G4EmExtraParameters::G4EmExtraParameters
G4EmExtraParameters()
Definition:
G4EmExtraParameters.cc:55
G4EmExtraParameters::m_regnamesPhys
std::vector< G4String > m_regnamesPhys
Definition:
G4EmExtraParameters.hh:164
G4EmExtraParameters::GetDirectionalSplittingTarget
G4ThreeVector GetDirectionalSplittingTarget() const
Definition:
G4EmExtraParameters.cc:469
G4EmExtraParameters::DefineRegParamForLoss
void DefineRegParamForLoss(G4VEnergyLossProcess *) const
Definition:
G4EmExtraParameters.cc:378
G4EmExtraParameters::RegionsPhysics
const std::vector< G4String > & RegionsPhysics() const
Definition:
G4EmExtraParameters.cc:274
G4EmExtraParameters::GetStepFunctionIonsP1
G4double GetStepFunctionIonsP1() const
Definition:
G4EmExtraParameters.cc:192
G4EmExtraParameters::SetStepFunction
void SetStepFunction(G4double v1, G4double v2)
Definition:
G4EmExtraParameters.cc:110
G4EmExtraParameters::m_regnamesBiasedSec
std::vector< G4String > m_regnamesBiasedSec
Definition:
G4EmExtraParameters.hh:179
G4EmExtraParameters::GetStepFunctionLightIonsP2
G4double GetStepFunctionLightIonsP2() const
Definition:
G4EmExtraParameters.cc:174
G4EmExtraParameters::m_weightForced
std::vector< G4bool > m_weightForced
Definition:
G4EmExtraParameters.hh:176
G4EmExtraParameters::GetStepFunctionMuHadP2
G4double GetStepFunctionMuHadP2() const
Definition:
G4EmExtraParameters.cc:151
G4EmExtraParameters::GetDirectionalSplittingRadius
G4double GetDirectionalSplittingRadius()
Definition:
G4EmExtraParameters.cc:479
G4EmExtraParameters::SetStepFunctionLightIons
void SetStepFunctionLightIons(G4double v1, G4double v2)
Definition:
G4EmExtraParameters.cc:156
G4EmExtraParameters::finalRangeLIons
G4double finalRangeLIons
Definition:
G4EmExtraParameters.hh:153
G4EmExtraParameters::AddPAIModel
void AddPAIModel(const G4String &particle, const G4String ®ion, const G4String &type)
Definition:
G4EmExtraParameters.cc:222
G4EmExtraParameters::AddPhysics
void AddPhysics(const G4String ®ion, const G4String &type)
Definition:
G4EmExtraParameters.cc:262
G4ParticleDefinition
Definition:
G4ParticleDefinition.hh:61
G4String
Definition:
G4String.hh:62
G4VAtomDeexcitation
Definition:
G4VAtomDeexcitation.hh:64
G4VEmProcess
Definition:
G4VEmProcess.hh:77
G4VEnergyLossProcess
Definition:
G4VEnergyLossProcess.hh:82
globals.hh
G4InuclParticleNames::name
const char * name(G4int ptype)
Definition:
G4InuclParticleNames.hh:76
Generated by
1.9.3