Geant4 10.7.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4AblaVirtualData.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, GSI (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#define ABLAXX_IN_GEANT4_MODE 1
34
35#include "globals.hh"
36
37#ifndef G4AblaVirtualData_hh
38#define G4AblaVirtualData_hh 1
39
40#ifdef ABLAXX_IN_GEANT4_MODE
41#include "globals.hh"
42#else
43#include "G4INCLGeant4Compat.hh"
44#include "G4INCLConfig.hh"
45#endif
46
47
48/**
49 * An interface to data used by ABLA. This interface allows
50 * us to abstract the actual source of data. Currently the data is
51 * read from datafiles by using class G4AblaDataFile. @see
52 * G4AblaDataFile
53 */
54
56protected:
57
58 /**
59 * Constructor, destructor
60 */
61#ifdef ABLAXX_IN_GEANT4_MODE
63#else
65#endif
66 virtual ~G4AblaVirtualData();
67
68public:
69 /**
70 * Set the value of Alpha.
71 */
73
74 /**
75 * Set the value of Ecnz.
76 */
78
79 /**
80 * Set the value of Vgsld.
81 */
83
84 /**
85 * Set the value of Pace2.
86 */
88
89 /**
90 * Set the value of RMS.
91 */
92 G4bool setRms(G4int A, G4int Z, G4double value);
93
94 /**
95 * Set the value of experimental masses.
96 */
98
99 /**
100 * Set the value of experimental masses ID.
101 */
102 G4bool setMexpID(G4int A, G4int Z, G4int value);
103
104 /**
105 * Set the value of beta2 deformation.
106 */
107 G4bool setBeta2(G4int A, G4int Z, G4double value);
108
109 /**
110 * Set the value of beta4 deformation.
111 */
112 G4bool setBeta4(G4int A, G4int Z, G4double value);
113
114
115 /**
116 * Get the value of Alpha.
117 */
119
120 /**
121 * Get the value of Ecnz.
122 */
124
125 /**
126 * Get the value of Vgsld.
127 */
129
130 /**
131 * Get the value of Pace2.
132 */
134
135 /**
136 * Get the value of RMS.
137 */
139
140 /**
141 * Get the value of experimental masses.
142 */
144
145 /**
146 * Get the value of experimental masses ID.
147 */
149
150 /**
151 * Get the value of beta2 deformation.
152 */
154
155 /**
156 * Get the value of beta4 deformation.
157 */
159
162
165
166 virtual G4bool readData() = 0;
167
168private:
169
170 static const G4int alphaRows = 154;
171 static const G4int alphaCols = 99;
172
173 static const G4int paceRows = 500;
174 static const G4int paceCols = 500;
175
176 static const G4int rmsRows = 154;
177 static const G4int rmsCols = 99;
178
179 static const G4int betaRows = 251;
180 static const G4int betaCols = 137;
181
182 static const G4int massRows = 154;
183 static const G4int massCols = 13;
184
185 G4double alpha[alphaRows][alphaCols];
186 G4double ecnz[alphaRows][alphaCols];
187 G4double vgsld[alphaRows][alphaCols];
188 G4double pace2[paceRows][paceCols];
189 G4double rms[rmsRows][rmsCols];
190 G4double mexp[massRows][massCols];
191 G4int mexpid[massRows][massCols];
192 G4double beta2[betaRows][betaCols];
193 G4double beta4[betaRows][betaCols];
194};
195
196#endif
double A(double temperature)
double G4double
Definition: G4Types.hh:83
bool G4bool
Definition: G4Types.hh:86
int G4int
Definition: G4Types.hh:85
G4bool setVgsld(G4int A, G4int Z, G4double value)
G4double getMexp(G4int A, G4int Z)
G4double getPace2(G4int A, G4int Z)
G4bool setMexp(G4int A, G4int Z, G4double value)
virtual ~G4AblaVirtualData()
G4double getAlpha(G4int A, G4int Z)
G4bool setEcnz(G4int A, G4int Z, G4double value)
G4bool setPace2(G4int A, G4int Z, G4double value)
G4bool setRms(G4int A, G4int Z, G4double value)
G4double getBeta2(G4int A, G4int Z)
G4double getRms(G4int A, G4int Z)
G4double getVgsld(G4int A, G4int Z)
G4bool setMexpID(G4int A, G4int Z, G4int value)
G4bool setAlpha(G4int A, G4int Z, G4double value)
G4bool setBeta2(G4int A, G4int Z, G4double value)
G4double getBeta4(G4int A, G4int Z)
G4bool setBeta4(G4int A, G4int Z, G4double value)
G4double getEcnz(G4int A, G4int Z)
G4int getMexpID(G4int A, G4int Z)
virtual G4bool readData()=0