GENIEGenerator
Loading...
Searching...
No Matches
ReinSehgalRESXSecWithCacheFast.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::ReinSehgalRESXSecWithCacheFast
5
6\brief Class that caches resonance neutrinoproduction cross sections on free
7 nucleons according to the Rein-Sehgal model. This significantly speeds
8 the cross section calculation for multiple nuclear targets (eg at the
9 spline construction phase). This class integrates cross sections faster,
10 than ReinSehgalRESXSecWithCache because of integration area transformation.
11
12\ref D.Rein and L.M.Sehgal, Neutrino Excitation of Baryon Resonances
13 and Single Pion Production, Ann.Phys.133, 79 (1981)
14
15\author Igor Kakorin <kakorin@jinr.ru>
16 Joint Institute for Nuclear Research
17
18 based on code of
19 Costas Andreopoulos <c.andreopoulos \at cern.ch>
20 University of Liverpool
21
22\created March 01, 2017
23
24\cpright Copyright (c) 2003-2025, The GENIE Collaboration
25 For the full text of the license visit http://copyright.genie-mc.org
26*/
27//____________________________________________________________________________
28
29#ifndef _REIN_SEHGAL_RES_XSEC_WITH_CACHE_FAST_H_
30#define _REIN_SEHGAL_RES_XSEC_WITH_CACHE_FAST_H_
31
32#include <Math/IFunction.h>
33#include <Math/IntegratorMultiDim.h>
34
40
41namespace genie {
42
44
45protected:
48 ReinSehgalRESXSecWithCacheFast(string name, string config);
50
51 // Don't implement the XSecIntegratorI interface - leave it for the concrete
52 // subclasses. Just define utility methods and data
53 void CacheResExcitationXSec (const Interaction * interaction) const;
54 string CacheBranchName(Resonance_t r, InteractionType_t it, int nu, int nuc) const;
55
57 double fWcut;
58 double fEMax;
59
62};
63
64
65class XSecAlgorithmI;
66class Interaction;
67
68namespace utils {
69namespace gsl {
70
71
72
73//.....................................................................................
74//
75// genie::utils::gsl::d2XSecRESFast_dWQ2_E
76// A 2-D cross section function: d2xsec/dWdQ2 = f(W,Q2)|(fixed E)
77//
78class d2XSecRESFast_dWQ2_E: public ROOT::Math::IBaseFunctionMultiDim
79{
80public:
83
84 // ROOT::Math::IBaseFunctionMultiDim interface
85 unsigned int NDim (void) const;
86 double DoEval (const double * xin) const;
87 ROOT::Math::IBaseFunctionMultiDim * Clone (void) const;
88
89private:
92 double fWmin;
93 double fWmax;
96};
97
98} // gsl namespace
99} // utils namespace
100} // genie namespace
101
102#endif // _REIN_SEHGAL_RES_XSEC_WITH_CACHE_H_
Encapsulates a list of baryon resonances.
Summary information for an interaction.
Definition Interaction.h:56
Kinematical phase space.
Definition KPhaseSpace.h:33
void CacheResExcitationXSec(const Interaction *interaction) const
string CacheBranchName(Resonance_t r, InteractionType_t it, int nu, int nuc) const
Cross Section Calculation Interface.
ROOT::Math::IBaseFunctionMultiDim * Clone(void) const
d2XSecRESFast_dWQ2_E(const XSecAlgorithmI *m, const Interaction *i)
Root of GENIE utility namespaces.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EInteractionType InteractionType_t
enum genie::EResonance Resonance_t