17 std::vector<std::vector<RealType>> skdata(0);
19 std::vector<RealType> rho_ee(0);
20 std::vector<RealType> rho_ee_err(0);
21 std::vector<RealType> rho_i(0);
22 std::vector<RealType> rho_r(0);
23 std::vector<RealType> rho_i_err(0);
24 std::vector<RealType> rho_r_err(0);
27 f.open(fname.c_str(), std::ifstream::in);
29 std::string obsname(
""), eq(
""),
pm(
"");
35 f >> obsname >> eq >> val_tmp >>
pm >> err_tmp;
37 if (obsname.find(
"rhok_e_") != std::string::npos)
40 if (obsname[IDENT] ==
'e')
43 rho_ee.push_back(val_tmp);
44 rho_ee_err.push_back(err_tmp);
46 else if (obsname[IDENT] ==
'i')
49 rho_i.push_back(val_tmp);
50 rho_i_err.push_back(err_tmp);
52 else if (obsname[IDENT] ==
'r')
55 rho_r.push_back(val_tmp);
56 rho_r_err.push_back(err_tmp);
59 APP_ABORT(
"ERROR SkParserScalarDat. Unexpected rhok_e_X... found. ");
70 if (rho_ee_err.size() != Nk)
71 APP_ABORT(
"ERROR SkParserScalarDat: density data not the same size");
72 if (rho_i.size() != Nk || rho_i_err.size() != Nk)
73 APP_ABORT(
"ERROR SkParserScalarDat: density data not the same size");
74 if (rho_r.size() != Nk || rho_r_err.size() != Nk)
75 APP_ABORT(
"ERROR SkParserScalarDat: density data not the same size");
89 if (rho_r_err[i] == 0 ||
std::abs(rho_r[i]) / rho_r_err[i] > 3.0)
91 if (rho_i_err[i] == 0 ||
std::abs(rho_i[i]) / rho_i_err[i] > 3.0)
94 skraw[i] = rho_ee[i] - (r_r * r_r + r_i * r_i);
std::vector< RealType > skerr_raw
helper functions for EinsplineSetBuilder
QTBase::RealType RealType
MakeReturn< UnaryNode< FnFabs, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t abs(const Vector< T1, C1 > &l)
std::vector< RealType > skraw
QMCTraits::PosType PosType
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
OHMMS_INDEXTYPE IndexType
define other types
void parse(const std::string &fname) override
QMCTraits::RealType RealType
void read_sk_file(const std::string &fname)