25 using namespace genie;
53 LOG(
"COHXSec",
pDEBUG) <<
"*** Below energy threshold";
79 for(
unsigned int ires = 0; ires < nres; ires++) {
87 <<
"Finding cache branch with key: " <<
key;
93 <<
"No cached RES v-production data for input neutrino" 94 <<
" (pdgc: " << nu_pdgc <<
")";
96 <<
"Wait while computing/caching RES production xsec first...";
100 LOG(
"ReinSehgalSpp",
pINFO) <<
"Done caching resonance xsec data";
102 <<
"Finding newly created cache branch with key: " <<
key;
105 assert(cache_branch);
112 double rxsec = (Ev<
fEMax-1) ? cbranch(Ev) : cbranch(
fEMax-1);
123 double res_xsec_contrib = rxsec*br*igg;
127 <<
"<Clebsch-Gordon = " << igg
128 <<
"> * <BR(->1pi) = " << br
129 <<
"> * <Breit-Wigner * d^2xsec/dQ^2dW = " << rxsec
130 <<
"> = " << res_xsec_contrib;
133 xsec += res_xsec_contrib;
139 <<
"/free] (Ev = " << Ev <<
" GeV) = " << xsec;
178 GetParam(
"ResonanceNameList", resonances ) ;
Cross Section Calculation Interface.
static SppChannel_t FromInteraction(const Interaction *interaction)
const KPhaseSpace & PhaseSpace(void) const
InteractionType_t InteractionTypeId(void) const
string fGSLIntgType
name of GSL numerical integrator
THE MAIN GENIE PROJECT NAMESPACE
int HitNucPdg(void) const
double Integrate(const XSecAlgorithmI *model, const Interaction *i) const
void DecodeFromNameList(string list, string delimiter=",")
virtual ~ReinSehgalSPPXSec()
void Configure(const Registry &config)
static double IsospinWeight(SppChannel_t channel, Resonance_t res)
enum genie::EResonance Resonance_t
unsigned int NResonances(void) const
enum genie::ESppChannel SppChannel_t
static string AsString(SppChannel_t channel)
Summary information for an interaction.
#define LOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a string (using the FILE...
A class encapsulating an enumeration of interaction types (EM, Weak-CC, Weak-NC) and scattering types...
string CacheBranchName(Resonance_t r, InteractionType_t it, int nu, int nuc) const
A Neutrino Interaction Target. Is a transparent encapsulation of quite different physical systems suc...
virtual void Configure(const Registry &config)
void CacheResExcitationXSec(const Interaction *interaction) const
CacheBranchI * FindCacheBranch(string key)
finding/adding cache branches
static double BranchingRatio(SppChannel_t, Resonance_t res)
int fGSLMaxEval
GSL max evaluations.
A registry. Provides the container for algorithm configuration parameters.
const UInt_t kIAssumeFreeNucleon
bool IsAboveThreshold(void) const
Checks whether the interaction is above the energy threshold.
virtual bool ValidProcess(const Interaction *i) const =0
Can this cross section algorithm handle the input process?
An ABC that caches resonance neutrinoproduction cross sections on free nucleons according to the Rein...
const InitialState & InitState(void) const
const char * AsString(Resonance_t res)
resonance id -> string
const ProcessInfo & ProcInfo(void) const
bool GetParamDef(const RgKey &name, T &p, const T &def) const
bool GetParam(const RgKey &name, T &p, bool is_top_call=true) const
const Target & Tgt(void) const
static Cache * Instance(void)
A simple cache branch storing the cached data in a TNtuple.
#define SLOG(stream, priority)
A macro that returns the requested log4cpp::Category appending a short string (using the FUNCTION and...
double ProbeE(RefFrame_t rf) const
enum genie::EInteractionType InteractionType_t
const XSecAlgorithmI * fSingleResXSecModel
Initial State information.
double fGSLRelTol
required relative tolerance (error)
Resonance_t ResonanceId(unsigned int ires) const