GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 \author G. Perdue, H. Gallagher, D. Cherdack
15 
16 \created 2014
17 
18 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
19  For the full text of the license visit http://copyright.genie-mc.org
20 */
21 //____________________________________________________________________________
22 
23 #ifndef _BERGER_SEHGAL_FM_COHPI_PXSEC_2015_H_
24 #define _BERGER_SEHGAL_FM_COHPI_PXSEC_2015_H_
25 
27 
28 namespace genie {
29 
30  class XSecIntegratorI;
31 
32  // this class should probably inherit from the infinite mass target version
34 
35  public:
37  BergerSehgalFMCOHPiPXSec2015(string config);
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 
45  //-- overload the Algorithm::Configure() methods to load private data
46  // members from configuration options
47  void Configure(const Registry & config);
48  void Configure(string config);
49 
50  private:
51  void LoadConfig(void);
52 
53  double ExactKinematicTerm(const Interaction * i) const;
54  double PionCOMAbsMomentum(const Interaction * i) const;
55 
56  //-- private data members loaded from config Registry or set to defaults
57  double fMa; ///< axial mass
58  double fRo; ///< nuclear size scale parameter
59  double fCos8c2; ///< cos^2(Cabibbo angle)
60  bool fRSPionXSec; ///< Use Rein-Sehgal "style" pion-nucleon xsecs
61 
63  };
64 
65 } // genie namespace
66 
67 #endif // _BERGER_SEHGAL_FM_COHPI_PXSEC_2015_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
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 &quot;style&quot; 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:65
Computes the triple differential cross section for CC &amp; NC coherent pion production according to the ...