KLVOxygenIBDPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::KLVOxygenIBDPXSec
5 
6 \brief An implementation of the neutrino - Oxygen16 cross section.
7 
8 \ref E. Kolbe, K. Langanke, P. Vogel ; Phys. Rev. D66, 013007, 2002
9 
10 \author Corey Reed <cjreed \at nikhef.nl>
11  Nikhef
12 
13 \created January 27, 2010
14 
15 \cpright Copyright (c) 2003-2019, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17  or see $GENIE/LICENSE
18 */
19 //____________________________________________________________________________
20 
21 #ifndef _KLV_QUASIELASTIC_NU_OXYGEN_XSEC_H_
22 #define _KLV_QUASIELASTIC_NU_OXYGEN_XSEC_H_
23 
25 
26 class TSpline3;
27 
28 namespace genie {
29 
31 
32 public:
33  static const double kO16NubarThr; // energy threshold for 16O + nu_e_bar
34  static const double kO16NuMinE; // minimum energy for 16O + nu_e
35  static const double kMaxE; // maximum neutrino energy for this xsec model
36 
38  KLVOxygenIBDPXSec(string config);
39  virtual ~KLVOxygenIBDPXSec();
40 
41  //-- XSecAlgorithmI interface implementation
42  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
43  double Integral (const Interaction * i) const;
44  bool ValidProcess (const Interaction * i) const;
45  bool ValidKinematics (const Interaction * i) const;
46 
47  //-- overload the Algorithm::Configure() methods to load private data
48  // members from configuration options
49  void Configure(const Registry & config);
50  void Configure(string config);
51 
52 private:
53  void LoadConfig (void);
54 
55  void MakeAntiNuESpline(void);
56  void MakeNuESpline(void);
57 
58  TSpline3* fXsplNue; //! a spline around the 16O+nu_e xsec points listed in the reference paper
59  TSpline3* fXsplNuebar; //! a spline around the 16O+nu_e_bar xsec points listed in the reference paper
60 
61 public:
62  ClassDef(KLVOxygenIBDPXSec, 1) // Oxygen16 - (anti)neutrino cross section estimator based on a Kolbe/Langanke/Vogel paper
63 };
64 } // genie namespace
65 #endif // _KLV_QUASIELASTIC_NU_OXYGEN_XSEC_H_
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
TSpline3 * fXsplNuebar
a spline around the 16O+nu_e xsec points listed in the reference paper
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
static const double kMaxE
Definition: config.py:1
enum genie::EKinePhaseSpace KinePhaseSpace_t
An implementation of the neutrino - Oxygen16 cross section.
static const double kO16NuMinE
Summary information for an interaction.
Definition: Interaction.h:56
static const double kO16NubarThr
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
void Configure(const Registry &config)
double Integral(const Interaction *i) const