23 std::vector<bool> this_nodes;
25 double low_val = 1.E-20;
27 std::vector<ParticlesThroughVolumesData> vec_ptv = aa.
ptv_info;
31 for(
int index_vol =0;index_vol<3;index_vol++){
32 for(
int ii=0;ii<3;ii++){
33 passVOL = passVOL || (vec_ptv[index_vol].AmountMat[ii] >low_val && (vec_ptv[index_vol].Pdgs[ii]==2212 || vec_ptv[index_vol].Pdgs[ii]==2112));
36 this_nodes.push_back(passVOL);
42 std::vector<ParticlesThroughVolumesData> vec_ptv = aa.
ptv_info;
45 double NA_mb = 6.02E-4;
47 double tot_dist = 0.0;
48 double low_val = 1.E-20;
50 for(
int index_vol =0;index_vol<3;index_vol++){
51 for(
int ii=0;ii<3;ii++){
52 tot_dist = vec_ptv[index_vol].AmountMat[ii];
53 if(tot_dist<low_val)
continue;
54 if(vec_ptv[index_vol].Pdgs[ii]!=2212 && vec_ptv[index_vol].Pdgs[ii]!=2112)
continue;
57 wgt *= exp(-1.0*tot_dist);
A list/table of parameter names and values.
virtual double calculateWeight(const InteractionChainData &aa)
calculate a weight for this interaction chain given the central value parameters and the parameters f...
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 ...
virtual ~NucleonAbsorptionOutOfTargetReweighter()
std::vector< ParticlesThroughVolumesData > ptv_info
Information about all particles that pass through volumes without interacting.
NucleonAbsorptionOutOfTargetReweighter(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...
const ParameterTable & univPars