23 using namespace genie;
24 using namespace genie::constants;
49 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
51 <<
"Computing a cross section for " << *interaction;
59 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
77 return this->
XSecNRES(interaction,kps);
87 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
89 <<
"Computing SPP cross section using " << nres <<
" resonances";
94 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
100 for(
unsigned int ires = 0; ires < nres; ires++) {
118 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
121 <<
"<Clebsch-Gordon = " << igg
122 <<
"> * <BR(->1pi) = " << br
123 <<
"> * <Breit-Wigner * d^nxsec/dK^n = " << rxsec
124 <<
"> = " << res_xsec_contrib;
128 xsec += res_xsec_contrib;
150 <<
"\n *** Insufficient SPP exclusive final state information!";
153 #ifdef __GENIE_LOW_LEVEL_MESG_ENABLED__
192 GetParam(
"ResonanceNameList", resonances ) ;
Cross Section Calculation Interface.
static SppChannel_t FromInteraction(const Interaction *interaction)
double Integral(const Interaction *i) const
void Configure(const Registry &config)
Cross Section Integrator Interface.
virtual ~ReinSehgalSPPPXSec()
void DecodeFromNameList(string list, string delimiter=",")
const XSecIntegratorI * fXSecIntegrator
static double IsospinWeight(SppChannel_t channel, Resonance_t res)
enum genie::EKinePhaseSpace KinePhaseSpace_t
enum genie::EResonance Resonance_t
unsigned int NResonances(void) const
void SetResonance(Resonance_t res)
enum genie::ESppChannel SppChannel_t
static string AsString(SppChannel_t channel)
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Summary information for an interaction.
virtual bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
virtual void Configure(const Registry &config)
Resonance_t Resonance(void) const
virtual double XSec(const Interaction *i, KinePhaseSpace_t k=kPSfE) const =0
Compute the cross section for the input interaction.
XclsTag * ExclTagPtr(void) const
bool Find(Resonance_t res) const
A registry. Provides the container for algorithm configuration parameters.
const XclsTag & ExclTag(void) const
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double XSecNRES(const Interaction *i, KinePhaseSpace_t k) const
const char * AsString(Resonance_t res)
resonance id -> string
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
static double BranchingRatio(Resonance_t res)
virtual double Integrate(const XSecAlgorithmI *model, const Interaction *interaction) const =0
const XSecAlgorithmI * fSingleResXSecModel
const UInt_t kISkipProcessChk
if set, skip process validity checks
Resonance_t ResonanceId(unsigned int ires) const
const Algorithm * SubAlg(const RgKey ®istry_key) const