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
G4EmProcessOptions.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4EmProcessOptions.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
//
29
// GEANT4 Class file
30
//
31
//
32
// File name: G4EmProcessOptions
33
//
34
// Author: Vladimir Ivanchenko
35
//
36
// Creation date: 27.02.2004
37
//
38
// Modifications:
39
// 30-06-04 G4EmProcess is pure discrete (V.Ivanchenko)
40
// 24-03-05 Add ApplyCuts and RandomStep (V.Ivanchenko)
41
// 10-01-06 PreciseRange -> CSDARange (V.Ivantchenko)
42
// 10-05-06 Add command MscStepLimit to G4LossTableManager (V.Ivantchenko)
43
// 22-05-06 Add SetBremsstrahlungTh (V.Ivanchenko)
44
// 12-02-07 Add SetSkin, SetLinearLossLimit (V.Ivanchenko)
45
// 30-05-12 Add biasing for G4VEmProcess (D. Sawkey)
46
//
47
// Class Description:
48
//
49
// -------------------------------------------------------------------
50
//
51
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
52
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
53
54
#include "
G4EmProcessOptions.hh
"
55
#include "
G4EmParameters.hh
"
56
#include "
G4SystemOfUnits.hh
"
57
#include "
G4VEmProcess.hh
"
58
#include "
G4VEnergyLossProcess.hh
"
59
#include "
G4VAtomDeexcitation.hh
"
60
#include "
G4Region.hh
"
61
#include "
G4RegionStore.hh
"
62
#include "
G4Threading.hh
"
63
64
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
65
66
G4EmProcessOptions::G4EmProcessOptions
()
67
{
68
G4cout
<<
"### WARNING: G4EmProcessOptions class is obsolete and "
69
<<
"will be removed in the next public release \n"
70
<<
" Please, try to use G4EmParameters class and/or UI "
71
<<
"interface to EM parameters"
72
<<
G4endl
;
73
theParameters
=
G4EmParameters::Instance
();
74
}
75
76
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
77
78
G4EmProcessOptions::~G4EmProcessOptions
()
79
{}
80
81
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
82
83
void
G4EmProcessOptions::SetLossFluctuations
(
G4bool
val)
84
{
85
theParameters
->
SetLossFluctuations
(val);
86
}
87
88
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
89
90
void
G4EmProcessOptions::SetBuildCSDARange
(
G4bool
val)
91
{
92
theParameters
->
SetBuildCSDARange
(val);
93
}
94
95
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
96
97
void
G4EmProcessOptions::SetLPMFlag
(
G4bool
val)
98
{
99
theParameters
->
SetLPM
(val);
100
}
101
102
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
103
104
void
G4EmProcessOptions::SetSplineFlag
(
G4bool
val)
105
{
106
theParameters
->
SetSpline
(val);
107
}
108
109
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
110
111
void
G4EmProcessOptions::SetUseCutAsFinalRange
(
G4bool
val)
112
{
113
theParameters
->
SetUseCutAsFinalRange
(val);
114
}
115
116
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
117
118
void
G4EmProcessOptions::SetApplyCuts
(
G4bool
val)
119
{
120
theParameters
->
SetApplyCuts
(val);
121
}
122
123
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
124
125
void
G4EmProcessOptions::SetFluo
(
G4bool
val)
126
{
127
theParameters
->
SetFluo
(val);
128
}
129
130
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
131
132
void
G4EmProcessOptions::SetAuger
(
G4bool
val)
133
{
134
theParameters
->
SetAuger
(val);
135
}
136
137
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
138
139
void
G4EmProcessOptions::SetPIXE
(
G4bool
val)
140
{
141
theParameters
->
SetPixe
(val);
142
}
143
144
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
145
146
void
G4EmProcessOptions::SetDeexcitationIgnoreCuts
(
G4bool
val)
147
{
148
theParameters
->
SetDeexcitationIgnoreCut
(val);
149
}
150
151
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
152
153
void
G4EmProcessOptions::SetMscLateralDisplacement
(
G4bool
val)
154
{
155
theParameters
->
SetLateralDisplacement
(val);
156
}
157
158
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
159
160
void
G4EmProcessOptions::SetMscMuHadLateralDisplacement
(
G4bool
val)
161
{
162
theParameters
->
SetMuHadLateralDisplacement
(val);
163
}
164
165
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
166
167
void
G4EmProcessOptions::SetDisplacementBeyondSafety
(
G4bool
val)
168
{
169
theParameters
->
SetLatDisplacementBeyondSafety
(val);
170
}
171
172
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
173
174
void
G4EmProcessOptions::SetMinSubRange
(
G4double
val)
175
{
176
theParameters
->
SetMinSubRange
(val);
177
}
178
179
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
180
181
void
G4EmProcessOptions::SetMinEnergy
(
G4double
val)
182
{
183
theParameters
->
SetMinEnergy
(val);
184
}
185
186
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
187
188
void
G4EmProcessOptions::SetMaxEnergy
(
G4double
val)
189
{
190
theParameters
->
SetMaxEnergy
(val);
191
}
192
193
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
194
195
void
G4EmProcessOptions::SetMaxEnergyForMuons
(
G4double
val)
196
{
197
theParameters
->
SetMaxEnergy
(val);
198
}
199
200
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
201
202
void
G4EmProcessOptions::SetMaxEnergyForCSDARange
(
G4double
val)
203
{
204
theParameters
->
SetMaxEnergyForCSDARange
(val);
205
}
206
207
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
208
209
void
G4EmProcessOptions::SetLinearLossLimit
(
G4double
val)
210
{
211
theParameters
->
SetLinearLossLimit
(val);
212
}
213
214
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
215
216
void
G4EmProcessOptions::SetBremsstrahlungTh
(
G4double
val)
217
{
218
theParameters
->
SetBremsstrahlungTh
(val);
219
}
220
221
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
222
223
void
G4EmProcessOptions::SetLambdaFactor
(
G4double
val)
224
{
225
theParameters
->
SetLambdaFactor
(val);
226
}
227
228
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
229
230
void
G4EmProcessOptions::SetFactorForAngleLimit
(
G4double
val)
231
{
232
theParameters
->
SetFactorForAngleLimit
(val);
233
}
234
235
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
236
237
void
G4EmProcessOptions::SetPolarAngleLimit
(
G4double
val)
238
{
239
theParameters
->
SetMscThetaLimit
(val);
240
}
241
242
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
243
244
void
G4EmProcessOptions::SetMscRangeFactor
(
G4double
val)
245
{
246
theParameters
->
SetMscRangeFactor
(val);
247
}
248
249
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
250
251
void
G4EmProcessOptions::SetMscGeomFactor
(
G4double
val)
252
{
253
theParameters
->
SetMscGeomFactor
(val);
254
}
255
256
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
257
258
void
G4EmProcessOptions::SetSkin
(
G4double
val)
259
{
260
theParameters
->
SetMscSkin
(val);
261
}
262
263
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
264
265
void
G4EmProcessOptions::SetDEDXBinning
(
G4int
val)
266
{
267
theParameters
->
SetNumberOfBins
(val);
268
}
269
270
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
271
272
void
G4EmProcessOptions::SetDEDXBinningForCSDARange
(
G4int
)
273
{}
274
275
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
276
277
void
G4EmProcessOptions::SetLambdaBinning
(
G4int
val)
278
{
279
theParameters
->
SetNumberOfBins
(val);
280
}
281
282
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
283
284
void
G4EmProcessOptions::SetVerbose
(
G4int
val)
285
{
286
theParameters
->
SetVerbose
(val);
287
}
288
289
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
290
291
void
G4EmProcessOptions::SetWorkerVerbose
(
G4int
val)
292
{
293
theParameters
->
SetWorkerVerbose
(val);
294
}
295
296
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
297
298
void
G4EmProcessOptions::SetMscStepLimitation
(
G4MscStepLimitType
val)
299
{
300
theParameters
->
SetMscStepLimitType
(val);
301
}
302
303
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
304
305
void
G4EmProcessOptions::SetSubCutoff
(
G4bool
val,
const
G4String
&
r
)
306
{
307
theParameters
->
SetSubCutoff
(val, r);
308
}
309
310
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
311
312
void
G4EmProcessOptions::SetIntegral
(
G4bool
val)
313
{
314
theParameters
->
SetIntegral
(val);
315
}
316
317
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
318
319
void
G4EmProcessOptions::SetStepFunction
(
G4double
v1
,
G4double
v2
)
320
{
321
theParameters
->
SetStepFunction
(v1, v2);
322
}
323
324
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
325
326
void
327
G4EmProcessOptions::SetDeexcitationActiveRegion
(
const
G4String
& rname,
328
G4bool
valDeex,
329
G4bool
valAuger,
330
G4bool
valPIXE)
331
{
332
theParameters
->
SetDeexActiveRegion
(rname, valDeex, valAuger, valPIXE);
333
}
334
335
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
336
337
void
G4EmProcessOptions::SetPIXECrossSectionModel
(
const
G4String
& mname)
338
{
339
theParameters
->
SetPIXECrossSectionModel
(mname);
340
}
341
342
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
343
344
void
345
G4EmProcessOptions::SetPIXEElectronCrossSectionModel
(
const
G4String
& mname)
346
{
347
theParameters
->
SetPIXEElectronCrossSectionModel
(mname);
348
}
349
350
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
351
352
void
353
G4EmProcessOptions::SetProcessBiasingFactor
(
const
G4String
&
name
,
G4double
val,
354
G4bool
flag)
355
{
356
theParameters
->
SetProcessBiasingFactor
(name, val, flag);
357
}
358
359
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
360
361
void
362
G4EmProcessOptions::ActivateForcedInteraction
(
const
G4String
&
name
,
363
G4double
length
,
364
const
G4String
& region,
365
G4bool
flag)
366
{
367
theParameters
->
ActivateForcedInteraction
(name, region, length, flag);
368
}
369
370
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
371
372
void
373
G4EmProcessOptions::ActivateSecondaryBiasing
(
const
G4String
&
name
,
374
const
G4String
& region,
375
G4double
factor,
376
G4double
energyLimit)
377
{
378
theParameters
->
ActivateSecondaryBiasing
(name, region, factor, energyLimit);
379
}
380
381
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
382
383
void
384
G4EmProcessOptions::ActivateSecondaryBiasingForGamma
(
const
G4String
&
name
,
385
const
G4String
& region,
386
G4double
factor,
387
G4double
energyLimit)
388
{
389
theParameters
->
ActivateSecondaryBiasing
(name, region, factor, energyLimit);
390
}
391
392
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo....
393
geant4
tree
geant4-10.6-release
source
processes
electromagnetic
utils
src
G4EmProcessOptions.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:36
using
1.8.2 with
ECCE GitHub integration