Geant4.10
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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 // Pekka Kaitaniemi, HIP (translation)
28 // Christelle Schmidt, IPNL (fission code)
29 // Davide Mancusi, CEA (contact person INCL/ABLA)
30 // Aatos Heikkinen, HIP (project coordination)
31 //
32 #define ABLAXX_IN_GEANT4_MODE 1
33 
34 #include "globals.hh"
35 
36 #ifndef G4AblaVirtualData_hh
37 #define G4AblaVirtualData_hh 1
38 
39 #ifdef ABLAXX_IN_GEANT4_MODE
40 #include "globals.hh"
41 #else
42 #include "G4INCLGeant4Compat.hh"
43 #include "G4INCLConfig.hh"
44 #endif
45 
46 
47 /**
48  * An interface to data used by ABLA. This interface allows
49  * us to abstract the actual source of data. Currently the data is
50  * read from datafiles by using class G4AblaDataFile. @see
51  * G4AblaDataFile
52  */
53 
55 protected:
56 
57  /**
58  * Constructor, destructor
59  */
60 #ifdef ABLAXX_IN_GEANT4_MODE
62 #else
64 #endif
65  virtual ~G4AblaVirtualData();
66 
67 public:
68  /**
69  * Set the value of Alpha.
70  */
72 
73  /**
74  * Set the value of Ecnz.
75  */
76  G4bool setEcnz(G4int A, G4int Z, G4double value);
77 
78  /**
79  * Set the value of Vgsld.
80  */
81  G4bool setVgsld(G4int A, G4int Z, G4double value);
82 
83  /**
84  * Set the value of Pace2.
85  */
86  G4bool setPace2(G4int A, G4int Z, G4double value);
87 
89 
90  /**
91  * Get the value of Alpha.
92  */
94 
95  /**
96  * Get the value of Vgsld.
97  */
99 
100  /**
101  * Get the value of Pace2.
102  */
104 
107 
108  G4int getPaceRows();
109  G4int getPaceCols();
110 
111  virtual G4bool readData() = 0;
112 
113 private:
114 
115  static const G4int alphaRows = 154;
116  static const G4int alphaCols = 99;
117 
118  static const G4int paceRows = 500;
119  static const G4int paceCols = 500;
120 
121  G4double alpha[alphaRows][alphaCols];
122  G4double ecnz[alphaRows][alphaCols];
123  G4double vgsld[alphaRows][alphaCols];
124  G4double pace2[paceRows][paceCols];
125 };
126 
127 #endif
G4bool setVgsld(G4int A, G4int Z, G4double value)
G4bool setPace2(G4int A, G4int Z, G4double value)
G4double getVgsld(G4int A, G4int Z)
virtual G4bool readData()=0
G4double getAlpha(G4int A, G4int Z)
int G4int
Definition: G4Types.hh:78
bool G4bool
Definition: G4Types.hh:79
G4bool setEcnz(G4int A, G4int Z, G4double value)
G4bool setAlpha(G4int A, G4int Z, G4double value)
const XML_Char int const XML_Char * value
virtual ~G4AblaVirtualData()
double G4double
Definition: G4Types.hh:76
G4double getEcnz(G4int A, G4int Z)
G4double getPace2(G4int A, G4int Z)