BergerSehgalFMCOHPiPXSec2015.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4  \class genie::BergerSehgalFMCOHPiPXSec2015
5 
6  \brief Computes the triple differential cross section for CC & NC coherent
7  pion production according to the \b Berger-Sehgal model.
8  v(vbar)A->v(vbar)Api0, vA->l-Api+, vbarA->l+Api-
9 
10  Is a concrete implementation of the XSecAlgorithmI interface.
11 
12  \ref PRD 79, 053003 (2009) by Berger and Sehgal
13 
14 
15 
16  \author G. Perdue, H. Gallagher, D. Cherdack
17 
18  \created 2014
19 
20  \cpright Copyright (c) 2003-2019, The GENIE Collaboration
21  For the full text of the license visit http://copyright.genie-mc.org
22  or see $GENIE/LICENSE
23  */
24 //____________________________________________________________________________
25 
26 #ifndef _BERGER_SEHGAL_FM_COHPI_PXSEC_2015_H_
27 #define _BERGER_SEHGAL_FM_COHPI_PXSEC_2015_H_
28 
30 
31 namespace genie {
32 
33  class XSecIntegratorI;
34 
35  // this class should probably inherit from the infinite mass target version
37 
38  public:
42 
43  //-- XSecAlgorithmI interface implementation
44  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
45  double Integral (const Interaction * i) const;
46  bool ValidProcess (const Interaction * i) const;
47 
48  //-- overload the Algorithm::Configure() methods to load private data
49  // members from configuration options
50  void Configure(const Registry & config);
51  void Configure(string config);
52 
53  private:
54  void LoadConfig(void);
55 
56  double ExactKinematicTerm(const Interaction * i) const;
57  double PionCOMAbsMomentum(const Interaction * i) const;
58 
59  //-- private data members loaded from config Registry or set to defaults
60  double fMa; ///< axial mass
61  double fRo; ///< nuclear size scale parameter
62  double fCos8c2; ///< cos^2(Cabibbo angle)
63  bool fRSPionXSec; ///< Use Rein-Sehgal "style" pion-nucleon xsecs
64 
66  };
67 
68 } // genie namespace
69 
70 #endif // _BERGER_SEHGAL_FM_COHPI_PXSEC_2015_H_
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
Cross Section Integrator Interface.
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
Definition: config.py:1
enum genie::EKinePhaseSpace KinePhaseSpace_t
double ExactKinematicTerm(const Interaction *i) const
Summary information for an interaction.
Definition: Interaction.h:56
bool fRSPionXSec
Use Rein-Sehgal "style" pion-nucleon xsecs.
double PionCOMAbsMomentum(const Interaction *i) const
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
double fRo
nuclear size scale parameter
double Integral(const Interaction *i) const
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:66
Computes the triple differential cross section for CC & NC coherent pion production according to the ...