GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BergerSehgalCOHPiPXSec2015.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::BergerSehgalCOHPiPXSec2015
5 
6 \brief Computes the double 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  The t-dependence of the triple differential cross (d^3xsec/dxdydt)
11  is integrated out.
12 
13  Is a concrete implementation of the XSecAlgorithmI interface.
14 
15 \ref PRD 79, 053003 (2009) by Berger and Sehgal
16 
17 \author G. Perdue, H. Gallagher, D. Cherdack
18 
19 \created 2014
20 
21 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
22  For the full text of the license visit http://copyright.genie-mc.org
23 */
24 //____________________________________________________________________________
25 
26 #ifndef _BERGER_SEHGAL_COHPI_PXSEC_2015_H_
27 #define _BERGER_SEHGAL_COHPI_PXSEC_2015_H_
28 
30 
31 namespace genie {
32 
33  class XSecIntegratorI;
34 
36 
37  public:
39  BergerSehgalCOHPiPXSec2015(string config);
41 
42  //-- XSecAlgorithmI interface implementation
43  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
44  double Integral (const Interaction * i) const;
45  bool ValidProcess (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  double ExactKinematicTerm(const Interaction * i) const;
56  double PionCOMAbsMomentum(const Interaction * i) const;
57 
58  //-- private data members loaded from config Registry or set to defaults
59  double fMa; ///< axial mass
60  double fRo; ///< nuclear size scale parameter
61  double fCos8c2; ///< cos^2(Cabibbo angle)
62  bool fRSPionXSec; ///< Use Rein-Sehgal "style" pion-nucleon xsecs
63 
65  };
66 
67 } // genie namespace
68 
69 #endif // _BERGER_SEHGAL_COHPI_PXSEC_2015_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
bool fRSPionXSec
Use Rein-Sehgal &quot;style&quot; pion-nucleon xsecs.
double fRo
nuclear size scale parameter
enum genie::EKinePhaseSpace KinePhaseSpace_t
double PionCOMAbsMomentum(const Interaction *i) const
Summary information for an interaction.
Definition: Interaction.h:56
double ExactKinematicTerm(const Interaction *i) const
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
Computes the double differential cross section for CC &amp; NC coherent pion production according to the ...
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double Integral(const Interaction *i) const