19#ifndef _HEDIS_STRUC_FUNC_H_
20#define _HEDIS_STRUC_FUNC_H_
61 if (
a.LHAPDFset != b.
LHAPDFset )
return false;
62 if (
a.IsNLO != b.
IsNLO )
return false;
63 if (
a.Scheme != b.
Scheme )
return false;
64 if (
a.QrkThrs != b.
QrkThrs )
return false;
65 if (
a.NGridX != b.
NGridX )
return false;
66 if (
a.NGridQ2 != b.
NGridQ2 )
return false;
67 if ( abs(
a.XGridMin-b.
XGridMin)>1
e-10 )
return false;
68 if ( abs(
a.Q2GridMin-b.
Q2GridMin)>1
e-10 )
return false;
69 if ( abs(
a.Q2GridMax-b.
Q2GridMax)>1
e-10 )
return false;
70 if ( abs(
a.MassW-b.
MassW)>1
e-10 )
return false;
71 if ( abs(
a.MassZ-b.
MassZ)>1
e-10 )
return false;
72 if ( abs(
a.Rho-b.
Rho)>1
e-10 )
return false;
73 if ( abs(
a.Sin2ThW-b.
Sin2ThW)>1
e-10 )
return false;
74 if ( abs(
a.Vud-b.
Vud)>1
e-10 )
return false;
75 if ( abs(
a.Vus-b.
Vus)>1
e-10 )
return false;
76 if ( abs(
a.Vub-b.
Vub)>1
e-10 )
return false;
77 if ( abs(
a.Vcd-b.
Vcd)>1
e-10 )
return false;
78 if ( abs(
a.Vcs-b.
Vcs)>1
e-10 )
return false;
79 if ( abs(
a.Vcb-b.
Vcb)>1
e-10 )
return false;
80 if ( abs(
a.Vtd-b.
Vtd)>1
e-10 )
return false;
81 if ( abs(
a.Vts-b.
Vts)>1
e-10 )
return false;
82 if ( abs(
a.Vtb-b.
Vtb)>1
e-10 )
return false;
90 std::getline (is,saux);
91 std::getline (is,saux);
92 std::getline (is,saux);
93 std::getline (is,saux);
94 std::getline (is,saux);
95 std::getline (is,saux);
a.LHAPDFset=saux.c_str();
96 std::getline (is,saux);
97 std::getline (is,saux);
a.LHAPDFmember=atoi(saux.c_str());
98 std::getline (is,saux);
99 std::getline (is,saux);
a.IsNLO=atoi(saux.c_str());
100 std::getline (is,saux);
101 std::getline (is,saux);
a.Scheme=saux.c_str();
102 std::getline (is,saux);
103 std::getline (is,saux);
a.QrkThrs=atof(saux.c_str());
104 std::getline (is,saux);
105 std::getline (is,saux);
a.NGridX=atoi(saux.c_str());
106 std::getline (is,saux);
107 std::getline (is,saux);
a.NGridQ2=atoi(saux.c_str());
108 std::getline (is,saux);
109 std::getline (is,saux);
a.XGridMin=atof(saux.c_str());
110 std::getline (is,saux);
111 std::getline (is,saux);
a.Q2GridMin=atof(saux.c_str());
112 std::getline (is,saux);
113 std::getline (is,saux);
a.Q2GridMax=atof(saux.c_str());
114 std::getline (is,saux);
115 std::getline (is,saux);
a.MassW=atof(saux.c_str());
116 std::getline (is,saux);
117 std::getline (is,saux);
a.MassZ=atof(saux.c_str());
118 std::getline (is,saux);
119 std::getline (is,saux);
a.Rho=atof(saux.c_str());
120 std::getline (is,saux);
121 std::getline (is,saux);
a.Sin2ThW=atof(saux.c_str());
122 std::getline (is,saux);
123 std::getline (is,saux);
a.Vud=atof(saux.c_str());
124 std::getline (is,saux);
a.Vus=atof(saux.c_str());
125 std::getline (is,saux);
a.Vub=atof(saux.c_str());
126 std::getline (is,saux);
a.Vcd=atof(saux.c_str());
127 std::getline (is,saux);
a.Vcs=atof(saux.c_str());
128 std::getline (is,saux);
a.Vcb=atof(saux.c_str());
129 std::getline (is,saux);
a.Vtd=atof(saux.c_str());
130 std::getline (is,saux);
a.Vts=atof(saux.c_str());
131 std::getline (is,saux);
a.Vtb=atof(saux.c_str());
139 <<
"#--------------------------------------------------------------------------------" <<
'\n'
140 <<
"# Metafile that stores information used to generate Structure Functions for HEDIS" <<
'\n'
141 <<
"#--------------------------------------------------------------------------------" <<
'\n'
142 <<
"# LHAPDF set" <<
'\n'
143 <<
a.LHAPDFset <<
'\n'
144 <<
"# LHAPDF member" <<
'\n'
145 <<
a.LHAPDFmember <<
'\n'
148 <<
"# Mass Scheme" <<
'\n'
150 <<
"# Quark threshold" <<
'\n'
157 <<
a.XGridMin <<
'\n'
159 <<
a.Q2GridMin <<
'\n'
161 <<
a.Q2GridMax <<
'\n'
162 <<
"# Mass W" <<
'\n'
164 <<
"# Mass Z" <<
'\n'
168 <<
"# Sin2ThW" <<
'\n'
216 map< HEDISStrucFunc::HEDISStrucFuncType_t, genie::BLI2DNonUnifGrid * >
Table;
map< HEDISStrucFunc::HEDISStrucFuncType_t, genie::BLI2DNonUnifGrid * > Table
void CreateNucSF(const Interaction *in, string sfFile)
SF_xQ2 EvalNucSFLO(const Interaction *in, double x, double Q2)
enum genie::HEDISStrucFunc::StrucFuncType HEDISStrucFuncType_t
int NucSFCode(const Interaction *in)
SF_xQ2 EvalQrkSFLO(const Interaction *in, double x, double Q2)
string QrkSFName(const Interaction *in)
SF_xQ2 EvalNucSFNLO(const Interaction *in, double x, double Q2)
vector< double > sf_q2_array
map< int, HEDISStrucFuncTable > fQrkSFLOTables
string NucSFName(const Interaction *in)
static HEDISStrucFunc * Instance(SF_info sfinfo)
static HEDISStrucFunc * fgInstance
vector< double > sf_x_array
void CreateQrkSF(const Interaction *in, string sfFile)
map< int, HEDISStrucFuncTable > fNucSFLOTables
int QrkSFCode(const Interaction *in)
HEDISStrucFunc(SF_info sfinfo)
map< int, HEDISStrucFuncTable > fNucSFNLOTables
HEDISStrucFunc(const HEDISStrucFunc &)
Summary information for an interaction.
THE MAIN GENIE PROJECT NAMESPACE
bool operator==(const TuneId &id1, const TuneId &id2)
ostream & operator<<(ostream &stream, const AlgConfigPool &config_pool)
std::istream & operator>>(std::istream &is, SF_info &a)
void DummyMethodAndSilentCompiler()