27 std::vector<bool> this_nodes;
29 double low_val = 1.E-20;
31 std::vector<ParticlesThroughVolumesData> vec_ptv = aa.
ptv_info;
35 for(
int ii=0;ii<3;ii++){
36 passVOL = passVOL || (vec_ptv[index_vol].AmountMat[ii] >low_val && (
abs(vec_ptv[index_vol].Pdgs[ii])==211 ||
abs(vec_ptv[index_vol].Pdgs[ii])==321));
38 this_nodes.push_back(passVOL);
44 std::vector<ParticlesThroughVolumesData> vec_ptv = aa.
ptv_info;
46 double NA_mb = 6.02E-4;
48 double tot_dist = 0.0;
49 double low_val = 1.E-20;
52 for(
int ii=0;ii<3;ii++){
54 tot_dist = vec_ptv[index_vol].AmountMat[ii];
55 if(tot_dist<low_val)
continue;
56 if(
abs(vec_ptv[index_vol].Pdgs[ii])!=321 &&
abs(vec_ptv[index_vol].Pdgs[ii])!=211)
continue;
59 else if(vec_ptv[index_vol].Pdgs[ii]== 321 && vec_ptv[index_vol].Moms[ii]<2.0)shift =
inel_kapAl_xsec_lowP;
60 else if(vec_ptv[index_vol].Pdgs[ii]== 321 && vec_ptv[index_vol].Moms[ii]>2.0)shift =
inel_kapAl_xsec_highP;
61 else if(vec_ptv[index_vol].Pdgs[ii]==-321 && vec_ptv[index_vol].Moms[ii]<2.0)shift =
inel_kamAl_xsec_lowP;
62 else if(vec_ptv[index_vol].Pdgs[ii]==-321 && vec_ptv[index_vol].Moms[ii]>2.0)shift =
inel_kamAl_xsec_highP;
67 wgt *= exp(-1.0*tot_dist);
virtual double calculateWeight(const InteractionChainData &aa)
calculate a weight for this interaction chain given the central value parameters and the parameters f...
A list/table of parameter names and values.
float inel_kamAl_xsec_lowP
Information about the chain of interactions leading to a neutrino.
double getParameterValue(const std::string &name) const
get the value of a parameter. throw an exception of a well defined type if we don't have it ...
AbsorptionICReweighter(int iuniv, const ParameterTable &cv_pars, const ParameterTable &univ_pars)
virtual std::vector< bool > canReweight(const InteractionChainData &aa)
Look through the InteractionChainData input and identify those Interactions that can be reweighted as...
virtual ~AbsorptionICReweighter()
const ParameterTable & univPars
std::vector< ParticlesThroughVolumesData > ptv_info
Information about all particles that pass through volumes without interacting.
float inel_kapAl_xsec_highP
float inel_kapAl_xsec_lowP
float inel_kamAl_xsec_highP