67 #define OLD_RADIUS_UNITS (3.3836/1.2) // Used with NucModel params
69 G4CascadeParameters::G4CascadeParameters()
70 : G4CASCADE_VERBOSE(getenv(
"G4CASCADE_VERBOSE")),
71 G4CASCADE_CHECK_ECONS(getenv(
"G4CASCADE_CHECK_ECONS")),
72 G4CASCADE_USE_PRECOMPOUND(getenv(
"G4CASCADE_USE_PRECOMPOUND")),
73 G4CASCADE_DO_COALESCENCE(getenv(
"G4CASCADE_DO_COALESCENCE")),
74 G4CASCADE_SHOW_HISTORY(getenv(
"G4CASCADE_SHOW_HISTORY")),
75 G4CASCADE_USE_3BODYMOM(getenv(
"G4CASCADE_USE_3BODYMOM")),
76 G4CASCADE_USE_PHASESPACE(getenv(
"G4CASCADE_USE_PHASESPACE")),
77 G4CASCADE_PIN_ABSORPTION(getenv(
"G4CASCADE_PIN_ABSORPTION")),
78 G4CASCADE_RANDOM_FILE(getenv(
"G4CASCADE_RANDOM_FILE")),
79 G4NUCMODEL_USE_BEST(getenv(
"G4NUCMODEL_USE_BEST")),
80 G4NUCMODEL_RAD_2PAR(getenv(
"G4NUCMODEL_RAD_2PAR")),
81 G4NUCMODEL_RAD_SCALE(getenv(
"G4NUCMODEL_RAD_SCALE")),
82 G4NUCMODEL_RAD_SMALL(getenv(
"G4NUCMODEL_RAD_SMALL")),
83 G4NUCMODEL_RAD_ALPHA(getenv(
"G4NUCMODEL_RAD_ALPHA")),
84 G4NUCMODEL_RAD_TRAILING(getenv(
"G4NUCMODEL_RAD_TRAILING")),
85 G4NUCMODEL_FERMI_SCALE(getenv(
"G4NUCMODEL_FERMI_SCALE")),
86 G4NUCMODEL_XSEC_SCALE(getenv(
"G4NUCMODEL_XSEC_SCALE")),
87 G4NUCMODEL_GAMMAQD(getenv(
"G4NUCMODEL_GAMMAQD")),
88 DPMAX_2CLUSTER(getenv(
"DPMAX_2CLUSTER")),
89 DPMAX_3CLUSTER(getenv(
"DPMAX_3CLUSTER")),
90 DPMAX_4CLUSTER(getenv(
"DPMAX_4CLUSTER")),
96 void G4CascadeParameters::Initialize() {
97 VERBOSE_LEVEL = (G4CASCADE_VERBOSE ? atoi(G4CASCADE_VERBOSE) : 0);
98 CHECK_ECONS = (0!=G4CASCADE_CHECK_ECONS);
99 USE_PRECOMPOUND = (0!=G4CASCADE_USE_PRECOMPOUND &&
100 G4CASCADE_USE_PRECOMPOUND[0]!=
'0');
101 DO_COALESCENCE = (0==G4CASCADE_DO_COALESCENCE ||
102 G4CASCADE_DO_COALESCENCE[0]!=
'0');
103 SHOW_HISTORY = (0!=G4CASCADE_SHOW_HISTORY);
104 USE_3BODYMOM = (0!=G4CASCADE_USE_3BODYMOM);
105 USE_PHASESPACE = (0!=G4CASCADE_USE_PHASESPACE &&
106 G4CASCADE_USE_PHASESPACE[0]!=
'0');
107 PIN_ABSORPTION = (G4CASCADE_PIN_ABSORPTION ? strtod(G4CASCADE_PIN_ABSORPTION,0)
109 RANDOM_FILE = (G4CASCADE_RANDOM_FILE ? G4CASCADE_RANDOM_FILE :
"");
110 BEST_PAR = (0!=G4NUCMODEL_USE_BEST);
111 TWOPARAM_RADIUS = (0!=G4NUCMODEL_RAD_2PAR);
112 RADIUS_SCALE = (G4NUCMODEL_RAD_SCALE ? strtod(G4NUCMODEL_RAD_SCALE,0)
114 RADIUS_SMALL = ((G4NUCMODEL_RAD_SMALL ? strtod(G4NUCMODEL_RAD_SMALL,0)
116 RADIUS_ALPHA = (G4NUCMODEL_RAD_ALPHA ? strtod(G4NUCMODEL_RAD_ALPHA,0)
117 : (BEST_PAR?0.84:0.70));
118 RADIUS_TRAILING = ((G4NUCMODEL_RAD_TRAILING ? strtod(G4NUCMODEL_RAD_TRAILING,0)
119 : 0.) * RADIUS_SCALE);
120 FERMI_SCALE = ((G4NUCMODEL_FERMI_SCALE ? strtod(G4NUCMODEL_FERMI_SCALE,0)
122 XSEC_SCALE = (G4NUCMODEL_XSEC_SCALE ? strtod(G4NUCMODEL_XSEC_SCALE,0)
123 : (BEST_PAR?0.1:1.0) );
124 GAMMAQD_SCALE = (G4NUCMODEL_GAMMAQD?strtod(G4NUCMODEL_GAMMAQD,0):1.);
125 DPMAX_DOUBLET = (DPMAX_2CLUSTER ? strtod(DPMAX_2CLUSTER,0) : 0.090);
126 DPMAX_TRIPLET = (DPMAX_3CLUSTER ? strtod(DPMAX_3CLUSTER,0) : 0.108);
127 DPMAX_ALPHA = (DPMAX_4CLUSTER ? strtod(DPMAX_4CLUSTER,0) : 0.115);
137 void G4CascadeParameters::DumpConfig(std::ostream& os)
const {
138 if (G4CASCADE_VERBOSE)
139 os <<
"G4CASCADE_VERBOSE = " << G4CASCADE_VERBOSE << endl;
140 if (G4CASCADE_CHECK_ECONS)
141 os <<
"G4CASCADE_CHECK_ECONS = " << G4CASCADE_CHECK_ECONS << endl;
142 if (G4CASCADE_USE_PRECOMPOUND)
143 os <<
"G4CASCADE_USE_PRECOMPOUND = " << G4CASCADE_USE_PRECOMPOUND << endl;
144 if (G4CASCADE_DO_COALESCENCE)
145 os <<
"G4CASCADE_DO_COALESCENCE = " << G4CASCADE_DO_COALESCENCE << endl;
146 if (G4CASCADE_PIN_ABSORPTION)
147 os <<
"G4CASCADE_PIN_ABSORPTION = " << G4CASCADE_PIN_ABSORPTION << endl;
148 if (G4CASCADE_SHOW_HISTORY)
149 os <<
"G4CASCADE_SHOW_HISTORY = " << G4CASCADE_SHOW_HISTORY << endl;
150 if (G4CASCADE_USE_3BODYMOM)
151 os <<
"G4CASCADE_USE_3BODYMOM = " << G4CASCADE_USE_3BODYMOM << endl;
152 if (G4CASCADE_USE_PHASESPACE)
153 os <<
"G4CASCADE_USE_PHASESPACE = " << G4CASCADE_USE_PHASESPACE << endl;
154 if (G4CASCADE_RANDOM_FILE)
155 os <<
"G4CASCADE_RANDOM_FILE = " << G4CASCADE_RANDOM_FILE << endl;
156 if (G4NUCMODEL_USE_BEST)
157 os <<
"G4NUCMODEL_USE_BEST = " << G4NUCMODEL_USE_BEST << endl;
158 if (G4NUCMODEL_RAD_2PAR)
159 os <<
"G4NUCMODEL_RAD_2PAR = " << G4NUCMODEL_RAD_2PAR << endl;
160 if (G4NUCMODEL_RAD_SCALE)
161 os <<
"G4NUCMODEL_RAD_SCALE = " << G4NUCMODEL_RAD_SCALE << endl;
162 if (G4NUCMODEL_RAD_SMALL)
163 os <<
"G4NUCMODEL_RAD_SMALL = " << G4NUCMODEL_RAD_SMALL << endl;
164 if (G4NUCMODEL_RAD_ALPHA)
165 os <<
"G4NUCMODEL_RAD_ALPHA = " << G4NUCMODEL_RAD_ALPHA << endl;
166 if (G4NUCMODEL_RAD_TRAILING)
167 os <<
"G4NUCMODEL_RAD_TRAILING = " << G4NUCMODEL_RAD_TRAILING << endl;
168 if (G4NUCMODEL_FERMI_SCALE)
169 os <<
"G4NUCMODEL_FERMI_SCALE = " << G4NUCMODEL_FERMI_SCALE << endl;
170 if (G4NUCMODEL_XSEC_SCALE)
171 os <<
"G4NUCMODEL_XSEC_SCALE = " << G4NUCMODEL_XSEC_SCALE << endl;
172 if (G4NUCMODEL_GAMMAQD)
173 os <<
"G4NUCMODEL_GAMMAQD = " << G4NUCMODEL_GAMMAQD << endl;
175 os <<
"DPMAX_2CLUSTER = " << DPMAX_2CLUSTER << endl;
177 os <<
"DPMAX_3CLUSTER = " << DPMAX_3CLUSTER << endl;
179 os <<
"DPMAX_4CLUSTER = " << DPMAX_4CLUSTER << endl;
static const G4CascadeParameters * Instance()