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-2020, The GENIE Collaboration
16  For the full text of the license visit http://copyright.genie-mc.org
17 */
18 //____________________________________________________________________________
19 
20 #ifndef _KLV_QUASIELASTIC_NU_OXYGEN_XSEC_H_
21 #define _KLV_QUASIELASTIC_NU_OXYGEN_XSEC_H_
22 
24 
25 class TSpline3;
26 
27 namespace genie {
28 
30 
31 public:
32  static const double kO16NubarThr; // energy threshold for 16O + nu_e_bar
33  static const double kO16NuMinE; // minimum energy for 16O + nu_e
34  static const double kMaxE; // maximum neutrino energy for this xsec model
35 
37  KLVOxygenIBDPXSec(string config);
38  virtual ~KLVOxygenIBDPXSec();
39 
40  //-- XSecAlgorithmI interface implementation
41  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
42  double Integral (const Interaction * i) const;
43  bool ValidProcess (const Interaction * i) const;
44  bool ValidKinematics (const Interaction * i) const;
45 
46  //-- overload the Algorithm::Configure() methods to load private data
47  // members from configuration options
48  void Configure(const Registry & config);
49  void Configure(string config);
50 
51 private:
52  void LoadConfig (void);
53 
54  void MakeAntiNuESpline(void);
55  void MakeNuESpline(void);
56 
57  TSpline3* fXsplNue; //! a spline around the 16O+nu_e xsec points listed in the reference paper
58  TSpline3* fXsplNuebar; //! a spline around the 16O+nu_e_bar xsec points listed in the reference paper
59 
60 public:
61  ClassDef(KLVOxygenIBDPXSec, 1) // Oxygen16 - (anti)neutrino cross section estimator based on a Kolbe/Langanke/Vogel paper
62 };
63 } // genie namespace
64 #endif // _KLV_QUASIELASTIC_NU_OXYGEN_XSEC_H_
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: AlgCmp.h:25
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
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 Config * config
Definition: config.cpp:1054
static const double kO16NubarThr
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(const Registry &config)
double Integral(const Interaction *i) const