ReinSehgalRESPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::ReinSehgalRESPXSec
5 
6 \brief Computes the double differential cross section for resonance
7  electro- or neutrino-production according to the Rein-Sehgal model.
8 
9  The computed cross section is the d^2 xsec/ dQ^2 dW \n
10 
11  where \n
12  \li \c Q^2 : momentum transfer ^ 2
13  \li \c W : invariant mass of the final state hadronic system
14 
15  Is a concrete implementation of the XSecAlgorithmI interface.
16 
17 \ref D.Rein and L.M.Sehgal, Neutrino Excitation of Baryon Resonances
18  and Single Pion Production, Ann.Phys.133, 79 (1981)
19 
20 \author Costas Andreopoulos <costas.andreopoulos \at stfc.ac.uk>
21  University of Liverpool & STFC Rutherford Appleton Lab
22 
23 \created May 05, 2004
24 
25 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
26  For the full text of the license visit http://copyright.genie-mc.org
27  or see $GENIE/LICENSE
28 */
29 //____________________________________________________________________________
30 
31 #ifndef _REIN_SEHGAL_RES_PXSEC_H_
32 #define _REIN_SEHGAL_RES_PXSEC_H_
33 
37 
38 namespace genie {
39 
40 class RSHelicityAmplModelI;
41 class Spline;
42 class XSecIntegratorI;
43 
45 
46 public:
48  ReinSehgalRESPXSec(string config);
49  virtual ~ReinSehgalRESPXSec();
50 
51  // implement the XSecAlgorithmI interface
52  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
53  double Integral (const Interaction * i) const;
54  bool ValidProcess (const Interaction * i) const;
55 
56  // overload the Algorithm::Configure() methods to load private data
57  // members from configuration options
58  void Configure(const Registry & config);
59  void Configure(string config);
60 
61 private:
62 
63  void LoadConfig (void);
64 
65  mutable FKR fFKR;
66 
72 
73  // configuration data
74  bool fWghtBW; ///< weight with resonance breit-wigner?
75  bool fNormBW; ///< normalize resonance breit-wigner to 1?
76  double fZeta; ///< FKR parameter Zeta
77  double fOmega; ///< FKR parameter Omega
78  double fMa2; ///< (axial mass)^2
79  double fMv2; ///< (vector mass)^2
80  double fSin48w; ///< sin^4(Weingberg angle)
81  double fVud2; ///< |Vud|^2(square of magnitude ud-element of CKM-matrix)
82  bool fUsingDisResJoin; ///< use a DIS/RES joining scheme?
83  bool fUsingNuTauScaling; ///< use NeuGEN nutau xsec reduction factors?
84  double fWcut; ///< apply DIS/RES joining scheme < Wcut
85  double fN2ResMaxNWidths; ///< limits allowed phase space for n=2 res
86  double fN0ResMaxNWidths; ///< limits allowed phase space for n=0 res
87  double fGnResMaxNWidths; ///< limits allowed phase space for other res
88  string fKFTable; ///< table of Fermi momentum (kF) constants for various nuclei
89  bool fUseRFGParametrization; ///< use parametrization for fermi momentum insted of table?
90  bool fUsePauliBlocking; ///< account for Pauli blocking?
91  Spline * fNuTauRdSpl; ///< xsec reduction spline for nu_tau
92  Spline * fNuTauBarRdSpl; ///< xsec reduction spline for nu_tau_bar
93  double fXSecScaleCC; ///< external CC xsec scaling factor
94  double fXSecScaleNC; ///< external NC xsec scaling factor
95 
97 };
98 
99 } // genie namespace
100 
101 #endif // _REIN_SEHGAL_RES_PXSEC_H_
Cross Section Calculation Interface.
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
bool fNormBW
normalize resonance breit-wigner to 1?
Computes the double differential cross section for resonance electro- or neutrino-production accordin...
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
Spline * fNuTauBarRdSpl
xsec reduction spline for nu_tau_bar
Cross Section Integrator Interface.
bool fWghtBW
weight with resonance breit-wigner?
const RSHelicityAmplModelI * fHAmplModelEMn
const RSHelicityAmplModelI * fHAmplModelNCp
double fVud2
|Vud|^2(square of magnitude ud-element of CKM-matrix)
A numeric analysis tool class for interpolating 1-D functions.
Definition: Spline.h:47
Simple struct-like class holding the Feynmann-Kislinger-Ravndall (FKR) baryon excitation model parame...
Definition: FKR.h:32
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Definition: config.py:1
double fMv2
(vector mass)^2
enum genie::EKinePhaseSpace KinePhaseSpace_t
const RSHelicityAmplModelI * fHAmplModelCC
const RSHelicityAmplModelI * fHAmplModelNCn
double Integral(const Interaction *i) const
const RSHelicityAmplModelI * fHAmplModelEMp
double fZeta
FKR parameter Zeta.
Summary information for an interaction.
Definition: Interaction.h:56
double fWcut
apply DIS/RES joining scheme < Wcut
Pure abstract base class. Defines the RSHelicityAmplModelI interface.
const XSecIntegratorI * fXSecIntegrator
double fXSecScaleCC
external CC xsec scaling factor
double fOmega
FKR parameter Omega.
bool fUseRFGParametrization
use parametrization for fermi momentum insted of table?
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
bool fUsingDisResJoin
use a DIS/RES joining scheme?
double fSin48w
sin^4(Weingberg angle)
double fN0ResMaxNWidths
limits allowed phase space for n=0 res
double fGnResMaxNWidths
limits allowed phase space for other res
void Configure(const Registry &config)
double fXSecScaleNC
external NC xsec scaling factor
double fMa2
(axial mass)^2
bool fUsingNuTauScaling
use NeuGEN nutau xsec reduction factors?
string fKFTable
table of Fermi momentum (kF) constants for various nuclei
bool fUsePauliBlocking
account for Pauli blocking?
double fN2ResMaxNWidths
limits allowed phase space for n=2 res
Spline * fNuTauRdSpl
xsec reduction spline for nu_tau