64 GetParam(
"IBDNucXSecModel", dgmodel ) ;
66 <<
"Default IBD cross section model: " << dgmodel;
76 for(
int Z=1; Z<140; Z++) {
77 for(
int A=Z; A<3*Z; A++) {
78 std::ostringstream key;
80 key <<
"IBDNucXSecModel@Pdg=" << nucpdg;
81 RgKey rgkey = key.str();
85 <<
"Nucleus =" << nucpdg
86 <<
" -> refined nuclear model: " << rgmodel;
92 insert(map<int,const XSecAlgorithmI*>::value_type(mapkeyval,
105 map<int,const XSecAlgorithmI*>::const_iterator it =
fRefinedModels.find(t.
Pdg());
115 return xs->
XSec(i, k);
117 LOG(
"IBD",
pERROR) <<
"No IBD XSec model found for target "
129 LOG(
"IBD",
pERROR) <<
"No IBD XSec model found for target "
141 LOG(
"IBD",
pERROR) <<
"No IBD XSec model found for target "
153 LOG(
"IBD",
pERROR) <<
"No IBD XSec model found for target "
ClassImp(IBDXSecMap) IBDXSecMap
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE,...
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils.
virtual const Registry & GetConfig(void) const
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
virtual void Configure(const Registry &config)
const Algorithm * SubAlg(const RgKey ®istry_key) const
Maps specific nuclei to appropriate cross section models.
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
bool fIsotopesUseSameModel
const XSecAlgorithmI * fDefaultModel
void Configure(const Registry &config)
const XSecAlgorithmI * SelectModel(const Target &t) const
double Integral(const Interaction *i) const
std::map< int, const XSecAlgorithmI * > fRefinedModels
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
const Target & Tgt(void) const
Summary information for an interaction.
const InitialState & InitState(void) const
A registry. Provides the container for algorithm configuration parameters.
RgAlg GetAlg(RgKey key) const
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
Cross Section Calculation Interface.
virtual bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
virtual double Integral(const Interaction *i) const =0
virtual bool ValidProcess(const Interaction *i) const =0
Can this cross section algorithm handle the input process?
int IonPdgCode(int A, int Z)
THE MAIN GENIE PROJECT NAMESPACE
enum genie::EKinePhaseSpace KinePhaseSpace_t