source: trunk/source/processes/hadronic/models/incl/include/G4AblaDataDefs.hh@ 819

Last change on this file since 819 was 819, checked in by garnier, 17 years ago

import all except CVS

File size: 5.1 KB
RevLine 
[819]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: G4AblaDataDefs.hh,v 1.6 2007/12/03 19:36:06 miheikki Exp $
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// Data structures needed by ABLA evaporation code.
34
35#ifndef G4AblaDataDefs_hh
36#define G4AblaDataDefs_hh 1
37
38// ABLA
39
40class G4Nevent {
41public:
42 G4Nevent() {};
43 ~G4Nevent() {};
44
45 G4int ii;
46};
47
48// ABLA
49#define PACESIZEROWS 500
50#define PACESIZECOLS 500
51/**
52 * Masses.
53 */
54
55class G4Pace {
56
57public:
58 G4Pace() {};
59
60 ~G4Pace() {};
61
62 G4double dm[PACESIZEROWS][PACESIZECOLS];
63};
64
65#define EC2SUBROWS 154
66#define EC2SUBCOLS 99
67 /**
68 *
69 */
70
71class G4Ec2sub {
72public:
73 G4Ec2sub() {};
74
75 ~G4Ec2sub() {};
76
77 G4double ecnz[EC2SUBROWS][EC2SUBCOLS];
78};
79
80class G4Ald {
81public:
82 /**
83 *
84 */
85 G4Ald() {};
86 ~G4Ald() {};
87
88 G4double av,as,ak,optafan;
89};
90
91class G4Ablamain {
92public:
93 G4Ablamain() {};
94 ~G4Ablamain() {};
95
96 G4double ap,zp,at,zt,eap,beta,bmaxnuc,crtot,crnuc,r_0, r_p,r_t,pi,bfpro,snpro,sppro,shell;
97 G4int imax, inum;
98};
99
100#define ECLDROWS 154
101#define ECLDCOLS 99
102/**
103 * Shell corrections and deformations.
104 */
105
106class G4Ecld {
107
108public:
109 G4Ecld() {};
110 ~G4Ecld() {};
111
112 /**
113 * Ground state shell correction frldm for a spherical ground state.
114 */
115 G4double ecgnz[ECLDROWS][ECLDCOLS];
116
117 /**
118 * Shell correction for the saddle point (now: == 0).
119 */
120 G4double ecfnz[ECLDROWS][ECLDCOLS];
121
122 /**
123 * Difference between deformed ground state and ldm value.
124 */
125 G4double vgsld[ECLDROWS][ECLDCOLS];
126
127 /**
128 * Alpha ground state deformation (this is not beta2!)
129 * beta2 = std::sqrt(5/(4pi)) * alpha
130 */
131 G4double alpha[ECLDROWS][ECLDCOLS];
132};
133
134class G4Fiss {
135 /**
136 * Options and parameters for fission channel.
137 */
138
139public:
140 G4Fiss() {};
141 ~G4Fiss() {};
142
143 G4double akap,bet,homega,koeff,ifis;
144 G4int optshp, optxfis,optles,optcol;
145};
146
147#define FBROWS 101
148#define FBCOLS 161
149/**
150 * Fission barriers.
151 */
152
153class G4Fb {
154
155public:
156 G4Fb() {};
157 ~G4Fb() {;}
158
159 // G4double efa[FBROWS][FBCOLS];
160 G4double efa[FBCOLS][FBROWS];
161};
162
163/**
164 * Options
165 */
166
167class G4Opt {
168
169public:
170 G4Opt() {};
171 ~G4Opt() {};
172
173 G4int optemd,optcha;
174 G4double eefac;
175};
176
177#define EENUCSIZE 2002
178#define XHESIZE 50
179class G4Eenuc {
180public:
181 G4Eenuc() {};
182 ~G4Eenuc() {};
183
184 G4double she[EENUCSIZE],xhe[XHESIZE][EENUCSIZE];
185};
186
187#define EMDPARSIZE 1000
188/**
189 * Energies widths and cross sections for em excitation.
190 */
191
192class G4Emdpar {
193
194public:
195 G4Emdpar() {};
196 ~G4Emdpar() {};
197
198 G4double egdr,egqr,fwhmgdr,fwhmgqr,cremde1,cremde2;
199 G4double ae1[EMDPARSIZE],be1[EMDPARSIZE],ce1[EMDPARSIZE],ae2[EMDPARSIZE];
200 G4double be2[EMDPARSIZE],ce2[EMDPARSIZE],sre1[EMDPARSIZE],sre2[EMDPARSIZE];
201 G4double xre1[EMDPARSIZE],xre2[EMDPARSIZE],ds1,ds2;
202};
203
204//#define VOLANTSIZE 200
205#define VOLANTSIZE 2000
206/**
207 * Evaporation and fission output data.
208 */
209
210class G4Volant {
211
212public:
213 G4Volant() {};
214 ~G4Volant() {};
215
216 void dump()
217 {
218 G4cout <<"i \t ACV \t ZPCV \t PCV" << G4endl;
219 for(G4int i = 0; i <= iv; i++) {
220 G4cout << "volant" << i << "\t" << acv[i] << " \t " << zpcv[i] << " \t " << pcv[i] << G4endl;
221 }
222 }
223
224 G4double acv[VOLANTSIZE],zpcv[VOLANTSIZE],pcv[VOLANTSIZE],xcv[VOLANTSIZE];
225 G4double ycv[VOLANTSIZE],zcv[VOLANTSIZE];
226 G4int iv;
227};
228
229#endif
Note: See TracBrowser for help on using the repository browser.