GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
ReinSehgalRESXSecFast.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::ReinSehgalRESXSecFast
5 
6 \brief Computes the cross section for an exclusive 1pi reaction through
7  resonance neutrinoproduction according to the Rein-Sehgal model.
8 
9  This algorithm produces in principle what you could also get from
10  the genie::RESXSec algorithm (RES cross section integrator) by
11  specifying the genie::ReinSehgalRESPXSec as the differential
12  cross section model. However, ReinSehgalRESXSecFast offers a faster
13  alternative. Before computing any RES cross section this algorithm
14  computes and caches splines for resonance neutrino-production cross
15  sections. This improves the speed of the GENIE spline construction
16  phase if splines for multiple nuclear targets are to be computed.
17  Also this class integrates cross sections faster, than
18  ReinSehgalRESXSec because of integration area transformation.
19 
20  Is a concrete implementation of the XSecAlgorithmI interface.\n
21 
22 \ref D.Rein and L.M.Sehgal, Neutrino Excitation of Baryon Resonances
23  and Single Pion Production, Ann.Phys.133, 79 (1981)
24 
25 \author Igor Kakorin <kakorin@jinr.ru>
26  Joint Institute for Nuclear Research
27 
28  based on code of
29  Costas Andreopoulos <c.andreopoulos \at cern.ch>
30  University of Liverpool
31 
32 \created March 01, 2017
33 
34 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
35  For the full text of the license visit http://copyright.genie-mc.org
36 
37 */
38 //____________________________________________________________________________
39 
40 #ifndef _REIN_SEHGAL_RES_XSEC_FAST_H_
41 #define _REIN_SEHGAL_RES_XSEC_FAST_H_
42 
44 
45 namespace genie {
46 
48 
49 public:
51  ReinSehgalRESXSecFast(string param_set);
52  virtual ~ReinSehgalRESXSecFast();
53 
54  // XSecIntegratorI interface implementation
55  double Integrate(const XSecAlgorithmI * model, const Interaction * i) const;
56 
57  // Overload the Algorithm::Configure() methods to load private data
58  // members from configuration options
59  void Configure(const Registry & config);
60  void Configure(string config);
61 
62 private:
63  void LoadConfig(void);
64 
65  bool fUsePauliBlocking; ///< account for Pauli blocking?
66 };
67 
68 } // genie namespace
69 #endif // _REIN_SEHGAL_RES_XSEC_H_
Cross Section Calculation Interface.
Class that caches resonance neutrinoproduction cross sections on free nucleons according to the Rein-...
Computes the cross section for an exclusive 1pi reaction through resonance neutrinoproduction accordi...
double Integrate(const XSecAlgorithmI *model, const Interaction *i) const
Summary information for an interaction.
Definition: Interaction.h:56
bool fUsePauliBlocking
account for Pauli blocking?
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(const Registry &config)