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
G4CascadeParameters.hh
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file G4CascadeParameters.hh
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
// Encapsulate all user-configurable parameters with associated envvars
27
//
28
// 20120912 M. Kelsey -- Add interface to support UI commands
29
// 20130304 M. Kelsey -- Add flag to collect and display cascade structure
30
// 20130308 M. Kelsey -- Add flag to use separate 3-body momentum generators
31
// 20130421 M. Kelsey -- Add flag for CHECK_ECONS, replacing #ifdef's
32
// 20130702 M. Kelsey -- Add flag to use N-body phase-space generator
33
// 20140311 G. Cosmo -- Implement standard (non-const) singleton pattern
34
// 20141030 M. Kelsey -- Add flag to enable direct pi-N absorption
35
// 20141211 M. Kelsey -- Change PIN_ABSORPTION flag to double, for energy cut
36
37
#ifndef G4CascadeParameters_hh
38
#define G4CascadeParameters_hh 1
39
40
#include "
globals.hh
"
41
#include <iosfwd>
42
43
class
G4CascadeParamMessenger
;
44
45
46
class
G4CascadeParameters
{
47
public
:
48
static
const
G4CascadeParameters
*
Instance
();
// Singleton
49
~G4CascadeParameters
();
50
51
// Top-level configuration flags
52
static
G4int
verbose
() {
return
Instance
()->
VERBOSE_LEVEL
; }
53
static
G4bool
checkConservation
() {
return
Instance
()->
CHECK_ECONS
; }
54
static
G4bool
usePreCompound
() {
return
Instance
()->
USE_PRECOMPOUND
; }
55
static
G4bool
doCoalescence
() {
return
Instance
()->
DO_COALESCENCE
; }
56
static
G4bool
showHistory
() {
return
Instance
()->
SHOW_HISTORY
; }
57
static
G4bool
use3BodyMom
() {
return
Instance
()->
USE_3BODYMOM
; }
58
static
G4bool
usePhaseSpace
() {
return
Instance
()->
USE_PHASESPACE
; }
59
static
G4double
piNAbsorption
() {
return
Instance
()->
PIN_ABSORPTION
; }
60
static
const
G4String
&
randomFile
() {
return
Instance
()->
RANDOM_FILE
; }
61
62
// Nuclear structure parameters
63
static
G4bool
useTwoParam
() {
return
Instance
()->
TWOPARAM_RADIUS
; }
64
static
G4double
radiusScale
() {
return
Instance
()->
RADIUS_SCALE
; }
65
static
G4double
radiusSmall
() {
return
Instance
()->
RADIUS_SMALL
; }
66
static
G4double
radiusAlpha
() {
return
Instance
()->
RADIUS_ALPHA
; }
67
static
G4double
radiusTrailing
() {
return
Instance
()->
RADIUS_TRAILING
; }
68
static
G4double
fermiScale
() {
return
Instance
()->
FERMI_SCALE
; }
69
static
G4double
xsecScale
() {
return
Instance
()->
XSEC_SCALE
; }
70
static
G4double
gammaQDScale
() {
return
Instance
()->
GAMMAQD_SCALE
; }
71
72
// Final-state clustering cuts
73
static
G4double
dpMaxDoublet
() {
return
Instance
()->
DPMAX_DOUBLET
; }
74
static
G4double
dpMaxTriplet
() {
return
Instance
()->
DPMAX_TRIPLET
; }
75
static
G4double
dpMaxAlpha
() {
return
Instance
()->
DPMAX_ALPHA
; }
76
77
static
void
DumpConfiguration
(std::ostream& os) {
Instance
()->
DumpConfig
(os); }
78
79
private
:
// Environment variable values, null pointers mean not set
80
const
char
*
G4CASCADE_VERBOSE
;
81
const
char
*
G4CASCADE_CHECK_ECONS
;
82
const
char
*
G4CASCADE_USE_PRECOMPOUND
;
83
const
char
*
G4CASCADE_DO_COALESCENCE
;
84
const
char
*
G4CASCADE_SHOW_HISTORY
;
85
const
char
*
G4CASCADE_USE_3BODYMOM
;
86
const
char
*
G4CASCADE_USE_PHASESPACE
;
87
const
char
*
G4CASCADE_PIN_ABSORPTION
;
88
const
char
*
G4CASCADE_RANDOM_FILE
;
89
const
char
*
G4NUCMODEL_USE_BEST
;
90
const
char
*
G4NUCMODEL_RAD_2PAR
;
91
const
char
*
G4NUCMODEL_RAD_SCALE
;
92
const
char
*
G4NUCMODEL_RAD_SMALL
;
93
const
char
*
G4NUCMODEL_RAD_ALPHA
;
94
const
char
*
G4NUCMODEL_RAD_TRAILING
;
95
const
char
*
G4NUCMODEL_FERMI_SCALE
;
96
const
char
*
G4NUCMODEL_XSEC_SCALE
;
97
const
char
*
G4NUCMODEL_GAMMAQD
;
98
const
char
*
DPMAX_2CLUSTER
;
99
const
char
*
DPMAX_3CLUSTER
;
100
const
char
*
DPMAX_4CLUSTER
;
101
102
void
Initialize
();
// Fill parameter values from envvar strings
103
104
G4int
VERBOSE_LEVEL
;
// Top-level configuration flags
105
G4bool
CHECK_ECONS
;
106
G4bool
USE_PRECOMPOUND
;
107
G4bool
DO_COALESCENCE
;
108
G4bool
SHOW_HISTORY
;
109
G4bool
USE_3BODYMOM
;
110
G4bool
USE_PHASESPACE
;
111
G4double
PIN_ABSORPTION
;
112
G4String
RANDOM_FILE
;
113
114
G4bool
BEST_PAR
;
// Nuclear structure parameters
115
//BEST_PAR has been used in a project on hold.
116
//Currently setting BEST_PAR or G4NUCMODEL_USE_BEST does not improve physics performance.
117
//Developer can get more information about this from cascade/test/README
118
119
G4bool
TWOPARAM_RADIUS
;
120
G4double
RADIUS_SCALE
;
121
G4double
RADIUS_SMALL
;
122
G4double
RADIUS_ALPHA
;
123
G4double
RADIUS_TRAILING
;
124
G4double
FERMI_SCALE
;
125
G4double
XSEC_SCALE
;
126
G4double
GAMMAQD_SCALE
;
127
128
G4double
DPMAX_DOUBLET
;
// Final-state clustering cuts
129
G4double
DPMAX_TRIPLET
;
130
G4double
DPMAX_ALPHA
;
131
132
private
:
// Singleton -- no public constructor
133
G4CascadeParameters
();
134
void
DumpConfig
(std::ostream& os)
const
;
135
136
G4CascadeParamMessenger
*
messenger
;
// For access via UI commands
137
friend
class
G4CascadeParamMessenger
;
138
139
static
G4CascadeParameters
*
fpInstance
;
140
};
141
142
#endif
/* G4CascadeParameters_hh */
geant4
tree
geant4-10.6-release
source
processes
hadronic
models
cascade
cascade
include
G4CascadeParameters.hh
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:39
using
1.8.2 with
ECCE GitHub integration