10 : filename_(
filename), quadraticEAflag_(quadraticEAflag) {
19 const float undef = -999;
26 std::stringstream
ss(
line);
34 <<
"wrong file format, file name " <<
filename_ << std::endl;
51 std::stringstream
ss(
line);
61 <<
"wrong file format, file name " <<
filename_ << std::endl;
106 float quadEffArea = 0;
120 printf(
"EffectiveAreas: source file %s\n",
filename_.c_str());
123 printf(
" eta_min eta_max effective area\n");
132 printf(
" eta_min eta_max EA linear term EA quadratic term\n");
135 printf(
" %8.4f %8.4f %8.5f %8.5f\n",
151 <<
"found no effective area constants in the file " <<
filename_ << std::endl;
159 <<
"eta ranges improperly defined (min>max) in the file" <<
filename_ << std::endl;
166 <<
"eta ranges improperly defined (disjointed) in the file " <<
filename_ << std::endl;
173 <<
"effective area values are too large or negative in the file" <<
filename_ << std::endl;
180 <<
"found no effective area constants (linear and/or quadratic) in the file " <<
filename_ << std::endl;
188 <<
"eta ranges improperly defined (min>max) in the file" <<
filename_ << std::endl;
195 <<
"eta ranges improperly defined (disjointed) in the file " <<
filename_ << std::endl;
202 <<
"effective area values are too large or negative in the file" <<
filename_ << std::endl;
void printEffectiveAreas() const
std::vector< float > absEtaMax_
std::vector< float > effectiveAreaValues_
const float getQuadraticEA(float eta) const
Abs< T >::type abs(const T &t)
EffectiveAreas(const std::string &filename, const bool quadraticEAflag=false)
const float getEffectiveArea(float eta) const
std::vector< float > absEtaMin_
const bool quadraticEAflag_
std::vector< float > linearEffectiveAreaValues_
void checkConsistency() const
std::vector< float > quadraticEffectiveAreaValues_
const float getLinearEA(float eta) const
const std::string filename_