ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
G4EmLowEParameters.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4EmLowEParameters.cc
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 file
29
//
30
//
31
// File name: G4EmLowEParameters
32
//
33
// Author: Vladimir Ivanchenko
34
//
35
// Creation date: 07.05.2019
36
//
37
// -------------------------------------------------------------------
38
//
39
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
40
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
41
42
#include "
G4EmLowEParameters.hh
"
43
#include "
G4PhysicalConstants.hh
"
44
#include "
G4UnitsTable.hh
"
45
#include "
G4SystemOfUnits.hh
"
46
#include "
G4VAtomDeexcitation.hh
"
47
#include "
G4EmLowEParametersMessenger.hh
"
48
#include "
G4RegionStore.hh
"
49
#include "
G4Region.hh
"
50
51
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
52
53
G4EmLowEParameters::G4EmLowEParameters
()
54
{
55
theMessenger
=
new
G4EmLowEParametersMessenger
(
this
);
56
Initialise
();
57
}
58
59
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
60
61
G4EmLowEParameters::~G4EmLowEParameters
()
62
{
63
delete
theMessenger
;
64
}
65
66
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
67
68
void
G4EmLowEParameters::Initialise
()
69
{
70
fluo
=
false
;
71
beardenFluoDir
=
false
;
72
auger
=
false
;
73
pixe
=
false
;
74
deexIgnoreCut
=
false
;
75
76
dnaFast
=
false
;
77
dnaStationary
=
false
;
78
dnaMsc
=
false
;
79
dnaElectronSolvation
=
fMeesungnoen2002eSolvation
;
80
81
namePIXE
=
"Empirical"
;
82
nameElectronPIXE
=
"Livermore"
;
83
}
84
85
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
86
87
void
G4EmLowEParameters::SetFluo
(
G4bool
val)
88
{
89
fluo
= val;
90
}
91
92
G4bool
G4EmLowEParameters::Fluo
()
const
93
{
94
return
fluo
;
95
}
96
97
void
G4EmLowEParameters::SetBeardenFluoDir
(
G4bool
val)
98
{
99
beardenFluoDir
= val;
100
}
101
102
G4bool
G4EmLowEParameters::BeardenFluoDir
()
const
103
{
104
return
beardenFluoDir
;
105
}
106
107
void
G4EmLowEParameters::SetAuger
(
G4bool
val)
108
{
109
auger
= val;
110
if
(val) {
fluo
=
true
; }
111
}
112
113
G4bool
G4EmLowEParameters::Auger
()
const
114
{
115
return
auger
;
116
}
117
118
void
G4EmLowEParameters::SetPixe
(
G4bool
val)
119
{
120
pixe
= val;
121
if
(val) {
fluo
=
true
; }
122
}
123
124
G4bool
G4EmLowEParameters::Pixe
()
const
125
{
126
return
pixe
;
127
}
128
129
void
G4EmLowEParameters::SetDeexcitationIgnoreCut
(
G4bool
val)
130
{
131
deexIgnoreCut
= val;
132
}
133
134
G4bool
G4EmLowEParameters::DeexcitationIgnoreCut
()
const
135
{
136
return
deexIgnoreCut
;
137
}
138
139
void
G4EmLowEParameters::SetDNAFast
(
G4bool
val)
140
{
141
dnaFast
= val;
142
}
143
144
G4bool
G4EmLowEParameters::DNAFast
()
const
145
{
146
return
dnaFast
;
147
}
148
149
void
G4EmLowEParameters::SetDNAStationary
(
G4bool
val)
150
{
151
dnaStationary
= val;
152
}
153
154
G4bool
G4EmLowEParameters::DNAStationary
()
const
155
{
156
return
dnaStationary
;
157
}
158
159
void
G4EmLowEParameters::SetDNAElectronMsc
(
G4bool
val)
160
{
161
dnaMsc
= val;
162
}
163
164
G4bool
G4EmLowEParameters::DNAElectronMsc
()
const
165
{
166
return
dnaMsc
;
167
}
168
169
void
G4EmLowEParameters::SetDNAeSolvationSubType
(
G4DNAModelSubType
val)
170
{
171
dnaElectronSolvation
= val;
172
}
173
174
G4DNAModelSubType
G4EmLowEParameters::DNAeSolvationSubType
()
const
175
{
176
return
dnaElectronSolvation
;
177
}
178
179
void
G4EmLowEParameters::SetPIXECrossSectionModel
(
const
G4String
&
sss
)
180
{
181
namePIXE
=
sss
;
182
}
183
184
const
G4String
&
G4EmLowEParameters::PIXECrossSectionModel
()
185
{
186
return
namePIXE
;
187
}
188
189
void
G4EmLowEParameters::SetPIXEElectronCrossSectionModel
(
const
G4String
&
sss
)
190
{
191
nameElectronPIXE
=
sss
;
192
}
193
194
const
G4String
&
G4EmLowEParameters::PIXEElectronCrossSectionModel
()
195
{
196
return
nameElectronPIXE
;
197
}
198
199
void
G4EmLowEParameters::PrintWarning
(
G4ExceptionDescription
& ed)
const
200
{
201
G4Exception
(
"G4EmLowEParameters"
,
"em0044"
,
JustWarning
, ed);
202
}
203
204
G4String
G4EmLowEParameters::CheckRegion
(
const
G4String
&
reg
)
const
205
{
206
G4String
r
=
reg
;
207
if
(r ==
""
|| r ==
"world"
|| r ==
"World"
) {
208
r =
"DefaultRegionForTheWorld"
;
209
}
210
return
r
;
211
}
212
213
void
G4EmLowEParameters::AddMicroElec
(
const
G4String
& region)
214
{
215
G4String
r
=
CheckRegion
(region);
216
G4int
nreg =
m_regnamesME
.size();
217
for
(
G4int
i=0; i<nreg; ++i) {
218
if
(r ==
m_regnamesME
[i]) {
return
; }
219
}
220
m_regnamesME
.push_back(r);
221
}
222
223
const
std::vector<G4String>&
G4EmLowEParameters::RegionsMicroElec
()
const
224
{
225
return
m_regnamesME
;
226
}
227
228
void
G4EmLowEParameters::AddDNA
(
const
G4String
& region,
const
G4String
& type)
229
{
230
G4String
r
=
CheckRegion
(region);
231
G4int
nreg =
m_regnamesDNA
.size();
232
for
(
G4int
i=0; i<nreg; ++i) {
233
if
(r ==
m_regnamesDNA
[i]) {
return
; }
234
}
235
m_regnamesDNA
.push_back(r);
236
m_typesDNA
.push_back(type);
237
}
238
239
const
std::vector<G4String>&
G4EmLowEParameters::RegionsDNA
()
const
240
{
241
return
m_regnamesDNA
;
242
}
243
244
const
std::vector<G4String>&
G4EmLowEParameters::TypesDNA
()
const
245
{
246
return
m_typesDNA
;
247
}
248
249
void
250
G4EmLowEParameters::SetDeexActiveRegion
(
const
G4String
& region,
G4bool
fdeex,
251
G4bool
fauger,
G4bool
fpixe)
252
{
253
if
(fdeex) {
fluo
=
true
; }
254
G4String
r
=
CheckRegion
(region);
255
G4int
nreg =
m_regnamesDeex
.size();
256
if
(0 == nreg && r !=
"DefaultRegionForTheWorld"
) {
257
m_regnamesDeex
.push_back(
"DefaultRegionForTheWorld"
);
258
m_fluo
.push_back(
false
);
259
m_auger
.push_back(
false
);
260
m_pixe
.push_back(
false
);
261
nreg = 1;
262
}
263
for
(
G4int
i=0; i<nreg; ++i) {
264
if
(r ==
m_regnamesDeex
[i]) {
265
m_fluo
[i] = fdeex;
266
m_auger
[i]= fauger;
267
m_pixe
[i] = fpixe;
268
return
;
269
}
270
}
271
m_regnamesDeex
.push_back(r);
272
m_fluo
.push_back(fdeex);
273
m_auger
.push_back(fauger);
274
m_pixe
.push_back(fpixe);
275
}
276
277
void
G4EmLowEParameters::DefineRegParamForDeex
(
G4VAtomDeexcitation
* ptr)
const
278
{
279
G4int
n
=
m_regnamesDeex
.size();
280
for
(
G4int
i=0; i<
n
; ++i) {
281
ptr->
SetDeexcitationActiveRegion
(
m_regnamesDeex
[i],
282
m_fluo
[i],
m_auger
[i],
m_pixe
[i]);
283
}
284
}
285
286
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.....
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
utils
src
G4EmLowEParameters.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:35
using
1.8.2 with
ECCE GitHub integration