56 ed <<
" Data missing: set environment variable G4ABLADATA\n"
57 <<
" to point to the directory containing data files needed\n"
58 <<
" by the ABLA model" <<
G4endl;
63 G4String flAlphaFile(dataPath +
"/flalpha.dat");
64 G4String frldmFile(dataPath +
"/frldm.dat");
65 G4String vgsldFile(dataPath +
"/vgsld.dat");
66 G4String rmsFile(dataPath +
"/rms.dat");
67 G4String defoFile(dataPath +
"/defo.dat");
68 G4String massFile(dataPath +
"/mass2020.dat");
70 if (verboseLevel > 1) {
77 std::ifstream flalphain(flAlphaFile.c_str());
78 std::ifstream frldmin(frldmFile.c_str());
79 std::ifstream vgsldin(vgsldFile.c_str());
80 std::ifstream rmsin(rmsFile.c_str());
81 std::ifstream defoin(defoFile.c_str());
82 std::ifstream massin(massFile.c_str());
84 if (!massin.is_open()) {
85 massFile = dataPath +
"/mass2016.dat";
87 massin.open(massFile.c_str());
88 std::cout <<
"Mass evaluation file mass2020.dat not found, current file: " << massFile.c_str()
91 if (!massin.is_open()) {
92 massFile = dataPath +
"/mass2003.dat";
94 massin.open(massFile.c_str());
95 std::cout <<
"Mass evaluation file mass2016.dat not found, current file: " << massFile.c_str()
100 std::filebuf* buf1 = flalphain.rdbuf();
101 std::filebuf* buf2 = frldmin.rdbuf();
102 std::filebuf* buf3 = vgsldin.rdbuf();
103 std::filebuf* buf4 = rmsin.rdbuf();
104 std::filebuf* buf5 = defoin.rdbuf();
105 std::filebuf* buf6 = massin.rdbuf();
106 if (!((buf1->is_open()) && (buf2->is_open()) && (buf3->is_open()) && (buf4->is_open())
107 && (buf5->is_open()) && (buf6->is_open())))
110 ed <<
"Data missing: could not find ABLA data file in " << dataPath
111 <<
"defined by environment variable G4ABLADATA" <<
G4endl;
115 G4double fflalpha, ffrldm, fvgsld, frms;
116 G4int fj = 0, fk = 0, a2, a3, a4;
119 const G4int rows = 99;
120 const G4int cols = 154;
121 const G4int rowsbeta = 137;
122 const G4int colsbeta = 251;
133 for (
G4int i = 0; i < rows; i++) {
134 for (
G4int j = 0; j < cols; j++) {
135 flalphain >> fflalpha;
146 for (
G4int i = 0; i < rowsbeta; i++) {
147 for (
G4int j = 0; j < colsbeta; j++) {
153 defoin >> fj >> fk >> fbeta2 >> fbeta4;
154 while (!defoin.eof()) {
157 defoin >> fj >> fk >> fbeta2 >> fbeta4;
166 massin >> a2 >> a3 >> a4 >> a7;
167 while (!massin.eof()) {
171 setMexp(a2, a3, 938.7829835 * a3 + 939.5653301 * a2 - 1. * a4 * a7 / 1000.);
173 massin >> a2 >> a3 >> a4 >> a7;