17 using namespace genie;
45 return (it ->
second)->GetScaling( interaction ) ;
59 bool good_config = true ;
64 static RgKey default_algo_name =
"XSecScaleDefaultAlg" ;
65 if(
GetConfig().Exists(default_algo_name) ) {
69 LOG(
"XSecScaleMap",
pERROR) <<
"The subalgorithm with ID couldn't be casted " ;
78 for(
auto kiter = kpdg_list.begin(); kiter != kpdg_list.end(); ++kiter ) {
79 const RgKey & key = *kiter ;
82 int pdg_target = stoi( kv[1] );
85 LOG(
"XSecScaleMap",
pERROR) <<
"The target Pdg code associated is not valid : " << pdg_target ;
91 LOG(
"XSecScaleMap",
pERROR) <<
"The target Pdg code does not correspond to a Ion : " << pdg_target ;
99 <<
" and target pdg " << pdg_target <<
" do not exist" ;
105 if( ! good_config ) {
106 LOG(
"XSecScaleMap",
pERROR) <<
"Configuration has failed.";
This class is responsible to compute a scaling factor for the XSec.
virtual void LoadConfig(void) override
virtual const Registry & GetConfig(void) const
std::map< int, const XSecScaleI * > fXSecScaleMap
Summary information for an interaction.
RgKeyList FindKeys(RgKey key_part) const
create list with all keys containing 'key_part'
static constexpr double second
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
static PDGLibrary * Instance(void)
vector< string > Split(string input, string delim)
virtual double GetScaling(const Interaction &) const =0
const InitialState & InitState(void) const
const Target & Tgt(void) const
const XSecScaleI * fXSecScaleDefault
virtual double GetScaling(const Interaction &) const override
Most commonly used PDG codes. A set of utility functions to handle PDG codes is provided in PDGUtils...
RgAlg GetAlg(RgKey key) const
const Algorithm * SubAlg(const RgKey ®istry_key) const