56 std::ifstream infile(Filename.c_str(), std::fstream::in);
58 Fatal(
"BmnGemGas::BmnGemGas",
"Input File is not found");
60 int noent = ReadGasBegin(&infile);
62 Fatal(
"BmnGemGas::BmnGemGas",
63 "Number of electric fields nonpositive?\nCould not read File.\nExecution aborted.");
72 int nCSDFile = ReadGasArrays(&infile, noent, e, vdrift, dt, dl,
k);
74 Fatal(
"BmnGemGas::BmnGemGas",
"Number of cluster sizes too small in File.\nExecution aborted.");
79 int _nCSD = nCSDFile - 1;
83 for (
int i = 0;
i < _nCSD;
i++) {
88 Fatal(
"BmnGemGas::BmnGemGas",
"Could not read cluster size distribution in File.\nExecution aborted.");
94 double inTable = GetPositionOfE(noent, e);
100 if (inTable < 0 || inTable > noent - 1)
101 Warning(
"BmnGemGas::BmnGemGas",
"E field out of the range defined in input file");
102 _VDrift = LinExpolation(inTable, vdrift, noent);
103 _Dl = LinExpolation(inTable, dl, noent);
104 _Dt = LinExpolation(inTable, dt, noent);
105 _k = LinExpolation(inTable,
k, noent);
110 _CSDEpol = _CSD[_nCSD - 1] * (_nCSD - 1) * (_nCSD - 1);