Geant4 11.4.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AblaDataDefs.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// ABLAXX statistical de-excitation model
27// Jose Luis Rodriguez, UDC (translation from ABLA07 and contact person)
28// Pekka Kaitaniemi, HIP (initial translation of ablav3p)
29// Aleksandra Kelic, GSI (ABLA07 code)
30// Davide Mancusi, CEA (contact person INCL)
31// Aatos Heikkinen, HIP (project coordination)
32//
33
34#pragma once
35
36#include "globals.hh"
37
38#include <cmath>
39#include <vector>
40
41constexpr const G4int nrows = 180;
42constexpr const G4int zcols = 122;
43
44constexpr const G4int lpcols = 13;
45constexpr const G4int lprows = 154;
46
47constexpr const G4int nrowsbeta = 251;
48constexpr const G4int zcolsbeta = 137;
49
50constexpr const G4int indexpart = 300;
51
52// Data structures needed by ABLA evaporation code
53
54class G4Mexp
55{
56 public:
57 G4Mexp() {};
58
59 ~G4Mexp() = default;
60
64};
65
67{
68 public:
70
71 ~G4Ec2sub() = default;
72
74};
75
76class G4Ald
77{
78 public:
79 G4Ald() : av(0.0), as(0.0), ak(0.0), optafan(0.0) {};
80
81 ~G4Ald() = default;
82
84};
85
86/**
87 * Shell corrections and deformations.
88 **/
89
90class G4Ecld
91{
92 public:
93 G4Ecld() {};
94 ~G4Ecld() = default;
95
96 /**
97 * Ground state shell correction frldm for a spherical ground state.
98 */
100
101 /**
102 * Shell correction for the saddle point (now: == 0).
103 */
105
106 /**
107 * Difference between deformed ground state and ldm value.
108 */
110
111 /**
112 * Alpha ground state deformation (this is not beta2!)
113 * beta2 = std::sqrt(5/(4pi)) * alpha
114 */
116
117 /**
118 * RMS function for lcp emission barriers
119 */
121
122 /**
123 * Beta2 deformations
124 */
126
127 /**
128 * Beta4 deformations
129 */
131};
132
134{
135 /**
136 * Options and parameters for fission channel.
137 */
138
139 public:
141 : bet(0.0),
142 bethyp(0.0),
143 ifis(0.0),
144 ucr(0.0),
145 dcr(0.0),
146 optshp(0),
147 optxfis(0),
148 optct(0),
149 optcol(0),
150 at(0),
151 zt(0) {};
152
153 ~G4Fiss() = default;
154
157};
158
159/**
160 * Fission barriers.
161 */
162
163class G4Fb
164{
165 public:
166 G4Fb() {};
167 ~G4Fb() = default;
168
170};
171
172/**
173 * Options
174 */
175
176class G4Opt
177{
178 public:
179 G4Opt() : optemd(0), optcha(0), optshpimf(0), optimfallowed(0), nblan0(0) {};
180
181 ~G4Opt() = default;
182
184};
185
187{
188 public:
189 G4VarNtp() { clear(); };
190
191 ~G4VarNtp() = default;
192
193 void clear()
194 {
195 ntrack = 0;
196 kfis = 0;
197 itypcasc.clear();
198 avv.clear();
199 zvv.clear();
200 svv.clear();
201 enerj.clear();
202 pxlab.clear();
203 pylab.clear();
204 pzlab.clear();
205 }
206
207 /**
208 * Fission 1/0=Y/N.
209 */
211
212 /**
213 * Excit energy at fis.
214 */
216
217 /**
218 * Z of fiss nucleus.
219 */
221
222 /**
223 * A of fiss nucleus.
224 */
226
227 /**
228 * Number of particles.
229 */
231
232 /**
233 * Does this nucleus require Fermi break-up treatment? Only
234 * applicable when used together with Geant4.
235 * true = do fermi break-up (and skip ABLA part)
236 * false = use ABLA
237 */
239
240 /**
241 * emitted in cascade (0) or evaporation (1).
242 */
243 std::vector<G4int> itypcasc;
244
245 /**
246 * A (-1 for pions).
247 */
248 std::vector<G4int> avv;
249
250 /**
251 * Z
252 */
253 std::vector<G4int> zvv;
254
255 /**
256 * S (-1 for lambda_0).
257 */
258 std::vector<G4int> svv;
259
260 /**
261 * Kinetic energy.
262 */
263 std::vector<G4double> enerj;
264
265 /**
266 * Momentum.
267 */
268 std::vector<G4double> plab;
269 std::vector<G4double> pxlab;
270 std::vector<G4double> pylab;
271 std::vector<G4double> pzlab;
272
273 /**
274 * Theta angle.
275 */
276 std::vector<G4double> tetlab;
277
278 /**
279 * Phi angle.
280 */
281 std::vector<G4double> philab;
282};
constexpr const G4int nrowsbeta
constexpr const G4int zcols
constexpr const G4int indexpart
constexpr const G4int lprows
constexpr const G4int nrows
constexpr const G4int zcolsbeta
constexpr const G4int lpcols
double G4double
Definition G4Types.hh:83
bool G4bool
Definition G4Types.hh:86
int G4int
Definition G4Types.hh:85
G4double as
G4double optafan
~G4Ald()=default
G4double av
G4double ak
G4double ecnz[nrows][zcols]
~G4Ec2sub()=default
G4double ecfnz[nrows][zcols]
G4double alpha[nrows][zcols]
G4double rms[nrows][zcols]
G4double vgsld[nrows][zcols]
~G4Ecld()=default
G4double ecgnz[nrows][zcols]
G4double beta2[nrowsbeta][zcolsbeta]
G4double beta4[nrowsbeta][zcolsbeta]
~G4Fb()=default
G4double efa[nrows][zcols]
G4double ucr
G4int optxfis
G4double dcr
G4double bet
~G4Fiss()=default
G4double bethyp
G4double ifis
~G4Mexp()=default
G4double massexp[lprows][lpcols]
G4int mexpiop[lprows][lpcols]
G4double bind[lprows][lpcols]
G4int optcha
G4int optimfallowed
~G4Opt()=default
G4int optemd
G4int nblan0
G4int optshpimf
std::vector< G4double > pzlab
std::vector< G4double > plab
std::vector< G4int > itypcasc
std::vector< G4double > pylab
std::vector< G4int > svv
G4double estfis
std::vector< G4double > enerj
G4bool needsFermiBreakup
std::vector< G4int > zvv
std::vector< G4double > philab
std::vector< G4int > avv
std::vector< G4double > tetlab
~G4VarNtp()=default
std::vector< G4double > pxlab