Geant4
9.6.p02
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
geant4_9_6_p02
source
processes
hadronic
models
abla
include
G4Abla.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
// $Id$
27
// Translation of INCL4.2/ABLA V3
28
// Pekka Kaitaniemi, HIP (translation)
29
// Christelle Schmidt, IPNL (fission code)
30
// Alain Boudard, CEA (contact person INCL/ABLA)
31
// Aatos Heikkinen, HIP (project coordination)
32
33
#include "
globals.hh
"
34
35
#include "
G4AblaDataDefs.hh
"
36
#include "G4InclDataDefs.hh"
37
42
class
G4Abla
{
43
44
public
:
48
G4Abla
();
49
57
G4Abla
(G4Hazard *aHazard,
G4Volant
*aVolant, G4VarNtp *aVarntp);
58
64
G4Abla
(G4Hazard *hazard,
G4Volant
*volant);
65
69
~G4Abla
();
70
74
void
setVerboseLevel
(
G4int
level);
75
90
void
breakItUp
(
G4double
nucleusA,
G4double
nucleusZ,
G4double
nucleusMass,
G4double
excitationEnergy,
91
G4double
angularMomentum,
G4double
recoilEnergy,
G4double
momX,
G4double
momY,
G4double
momZ,
92
G4int
eventnumber);
93
94
// Evaporation
95
public
:
100
void
initEvapora
();
101
114
void
qrot
(
G4double
z
,
G4double
a
,
G4double
bet,
G4double
sig,
G4double
u,
G4double
*qr);
115
120
void
mglw
(
G4double
a,
G4double
z,
G4double
*el);
121
125
void
mglms
(
G4double
a,
G4double
z,
G4int
refopt4,
G4double
*el);
126
130
// G4double spdef(G4int a, G4int z, G4int optxfis);
131
135
// G4double fissility(int a,int z, int optxfis);
136
140
void
evapora
(
G4double
zprf,
G4double
aprf,
G4double
ee,
G4double
jprf,
141
G4double
*zf_par,
G4double
*af_par,
G4double
*mtota_par,
142
G4double
*pleva_par,
G4double
*pxeva_par,
G4double
*pyeva_par,
143
G4int
*ff_par,
G4int
*inttype_par,
G4int
*inum_par);
144
148
void
direct
(
G4double
zprf,
G4double
a,
G4double
ee,
G4double
jprf,
149
G4double
*probp_par,
G4double
*probn_par,
G4double
*proba_par,
150
G4double
*probf_par,
G4double
*ptotl_par,
G4double
*sn_par,
G4double
*sbp_par,
G4double
*sba_par,
G4double
*ecn_par,
151
G4double
*ecp_par,
G4double
*eca_par,
G4double
*bp_par,
G4double
*ba_par,
G4int
inttype,
G4int
inum,
G4int
itest);
152
156
void
densniv
(
G4double
a,
G4double
z,
G4double
ee,
G4double
esous,
G4double
*dens,
G4double
bshell,
G4double
bs,
G4double
bk,
157
G4double
*temp,
G4int
optshp,
G4int
optcol,
G4double
defbet);
158
165
G4double
bfms67
(
G4double
zms,
G4double
ams);
166
174
void
lpoly
(
G4double
x
,
G4int
n
,
G4double
pl
[]);
175
182
G4double
eflmac
(
G4int
ia,
G4int
iz
,
G4int
flag,
G4int
optshp);
183
188
void
appariem
(
G4double
a,
G4double
z,
G4double
*del);
189
194
void
parite
(
G4double
n,
G4double
*par);
195
200
G4double
tau
(
G4double
bet,
G4double
homega,
G4double
ef,
G4double
t);
201
206
G4double
cram
(
G4double
bet,
G4double
homega);
207
213
G4double
bipol
(
int
iflag,
G4double
y
);
214
224
void
barfit
(
G4int
iz,
G4int
ia,
G4int
il,
G4double
*sbfis,
G4double
*segs,
G4double
*selmax);
225
229
G4double
expohaz
(
G4int
k,
G4double
T);
230
234
G4double
fd
(
G4double
E);
235
239
G4double
f
(
G4double
E);
240
244
G4double
fmaxhaz
(
G4double
T);
245
249
G4double
pace2
(
G4double
a,
G4double
z);
250
254
void
guet
(
G4double
*x_par,
G4double
*z_par,
G4double
*find_par);
255
256
// Fission
257
public
:
261
G4double
spdef
(
G4int
a,
G4int
z,
G4int
optxfis);
262
266
G4double
fissility
(
G4int
a,
G4int
z,
G4int
optxfis);
267
268
// void evapora(G4double zprf, G4double aprf, G4double ee, G4double jprf,
269
// G4double *zf_par, G4double *af_par, G4double *mtota_par,
270
// G4double *pleva_par, G4double *pxeva_par);
271
// G4double bfms67(G4double zms, G4double ams);
272
// void lpoly(G4double x, G4int n, G4double pl[]);
273
// G4double expohaz(G4int k, G4double T);
274
// G4double fd(G4double E);
275
// G4double f(G4double E);
276
// G4double fmaxhaz(G4double k, G4double T);
277
void
even_odd
(
G4double
r_origin,
G4double
r_even_odd,
G4int
&i_out);
278
G4double
umass
(
G4double
z,
G4double
n,
G4double
beta);
279
G4double
ecoul
(
G4double
z1,
G4double
n1,
G4double
beta1,
G4double
z2,
G4double
n2,
G4double
beta2,
G4double
d
);
280
void
fissionDistri
(
G4double
&a,
G4double
&z,
G4double
&
e
,
281
G4double
&a1,
G4double
&z1,
G4double
&e1,
G4double
&v1,
282
G4double
&a2,
G4double
&z2,
G4double
&e2,
G4double
&v2);
283
void
standardRandom
(
G4double
*
rndm
,
G4long
*seed);
284
G4double
haz
(
G4int
k);
285
G4double
gausshaz
(
int
k,
double
xmoy,
double
sig);
286
287
288
public
:
289
// Coordinate system transformations:
290
void
lorab
(
G4double
gam
,
G4double
eta,
G4double
ein,
G4double
pin[],
291
G4double
*eout,
G4double
pout[]);
292
293
void
translab
(
G4double
gamrem,
G4double
etrem,
G4double
csrem[4],
G4int
nopart,
G4int
ndec);
294
void
translabpf
(
G4double
masse1,
G4double
t1
,
G4double
p1,
G4double
ctet1,
295
G4double
phi1,
G4double
gamrem,
G4double
etrem,
G4double
R[][4],
296
G4double
*plab1,
G4double
*gam1,
G4double
*eta1,
G4double
csdir[]);
297
298
void
rotab
(
G4double
R[4][4],
G4double
pin[4],
G4double
pout[4]);
299
300
// Utils
301
G4int
min
(
G4int
a,
G4int
b
);
302
G4double
min
(
G4double
a,
G4double
b);
303
G4int
max
(
G4int
a,
G4int
b);
304
G4double
max
(
G4double
a,
G4double
b);
305
306
G4int
nint
(
G4double
number);
307
G4int
secnds
(
G4int
x);
308
G4int
mod
(
G4int
a,
G4int
b);
309
G4double
dmod
(
G4double
a,
G4double
b);
310
G4double
dint
(
G4double
a);
311
G4int
idint
(
G4double
a);
312
G4int
idnint
(
G4double
value
);
313
G4double
utilabs
(
G4double
a);
314
G4double
dmin1
(
G4double
a,
G4double
b,
G4double
c
);
315
316
private
:
317
G4int
verboseLevel;
318
G4int
ilast;
319
320
G4Pace
*pace;
321
G4Hazard *hazard;
322
G4Ald
*ald;
323
G4Ablamain
*ablamain;
324
G4Emdpar
*emdpar;
325
G4Eenuc
*eenuc;
326
G4Ec2sub
*ec2sub;
327
G4Ecld
*ecld;
328
G4Fb
*fb;
329
G4Fiss
*fiss;
330
G4Opt
*opt;
331
G4Volant
*volant;
332
G4VarNtp *varntp;
333
};
Generated on Sat May 25 2013 14:33:42 for Geant4 by
1.8.4