GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 <c.andreopoulos \at cern.ch>
21  University of Liverpool
22 
23 \created May 05, 2004
24 
25 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
26  For the full text of the license visit http://copyright.genie-mc.org
27 */
28 //____________________________________________________________________________
29 
30 #ifndef _REIN_SEHGAL_RES_PXSEC_H_
31 #define _REIN_SEHGAL_RES_PXSEC_H_
32 
36 
37 namespace genie {
38 
39 class RSHelicityAmplModelI;
40 class Spline;
41 class XSecIntegratorI;
42 
44 
45 public:
47  ReinSehgalRESPXSec(string config);
48  virtual ~ReinSehgalRESPXSec();
49 
50  // implement the XSecAlgorithmI interface
51  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
52  double Integral (const Interaction * i) const;
53  bool ValidProcess (const Interaction * i) const;
54 
55  // overload the Algorithm::Configure() methods to load private data
56  // members from configuration options
57  void Configure(const Registry & config);
58  void Configure(string config);
59 
60 private:
61 
62  void LoadConfig (void);
63 
64  mutable FKR fFKR;
65 
71 
72  // configuration data
73  bool fWghtBW; ///< weight with resonance breit-wigner?
74  bool fNormBW; ///< normalize resonance breit-wigner to 1?
75  double fZeta; ///< FKR parameter Zeta
76  double fOmega; ///< FKR parameter Omega
77  double fMa2; ///< (axial mass)^2
78  double fMv2; ///< (vector mass)^2
79  double fSin48w; ///< sin^4(Weingberg angle)
80  double fVud2; ///< |Vud|^2(square of magnitude ud-element of CKM-matrix)
81  bool fUsingDisResJoin; ///< use a DIS/RES joining scheme?
82  bool fUsingNuTauScaling; ///< use NeuGEN nutau xsec reduction factors?
83  double fWcut; ///< apply DIS/RES joining scheme < Wcut
84  double fN2ResMaxNWidths; ///< limits allowed phase space for n=2 res
85  double fN0ResMaxNWidths; ///< limits allowed phase space for n=0 res
86  double fGnResMaxNWidths; ///< limits allowed phase space for other res
87  string fKFTable; ///< table of Fermi momentum (kF) constants for various nuclei
88  bool fUseRFGParametrization; ///< use parametrization for fermi momentum insted of table?
89  bool fUsePauliBlocking; ///< account for Pauli blocking?
90  Spline * fNuTauRdSpl; ///< xsec reduction spline for nu_tau
91  Spline * fNuTauBarRdSpl; ///< xsec reduction spline for nu_tau_bar
92  double fXSecScaleCC; ///< external CC xsec scaling factor
93  double fXSecScaleNC; ///< external NC xsec scaling factor
94  double fXSecScaleEM; ///< external EM 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...
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:58
Simple struct-like class holding the Feynmann-Kislinger-Ravndall (FKR) baryon excitation model parame...
Definition: FKR.h:31
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
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 &lt; 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:65
bool fUsingDisResJoin
use a DIS/RES joining scheme?
double fXSecScaleEM
external EM xsec scaling factor
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