GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AlvarezRusoCOHPiPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::AlvarezRusoCOHPiPXSec
5 
6 \brief Implementation of the Alvarez-Ruso coherent pion production model
7 
8  Is a concrete implementation of the XSecAlgorithmI interface.
9 
10 \ref
11 
12 \author Steve Dennis
13  University of Warwick, Rutherford Appleton Laboratory
14 
15 \created October 5, 2012
16 
17 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
18  For the full text of the license visit http://copyright.genie-mc.org
19 */
20 //____________________________________________________________________________
21 
22 #ifndef _ALVAREZ_RUSO_COH_XSEC_H_
23 #define _ALVAREZ_RUSO_COH_XSEC_H_
24 
27 
28 namespace genie {
29 
30 class XSecIntegratorI;
31 class Interaction;
32 
34 
35 public:
37  AlvarezRusoCOHPiPXSec(string config);
38  virtual ~AlvarezRusoCOHPiPXSec();
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  //-- private data members loaded from config Registry or set to defaults
54 
56 
58  mutable const Interaction * fLastInteraction;
59  //Parameters
60  //bool fUseLookupTable;
61  //double fa4;
62  //double fa5;
63  //double fb4;
64  //double fb5;
65  //double ffPi;
66  //double ffStar;
67  //double fMa;
68  //double fRo;
69 };
70 
71 } // genie namespace
72 
73 #endif // _REIN_SEGHAL_COHPI_PXSEC_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
double Integral(const Interaction *i) const
enum genie::EKinePhaseSpace KinePhaseSpace_t
void Configure(const Registry &config)
Implementation of the Alvarez-Ruso coherent pion production model.
Summary information for an interaction.
Definition: Interaction.h:56
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
const XSecIntegratorI * fXSecIntegrator
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
const Interaction * fLastInteraction
alvarezruso::AlvarezRusoCOHPiPDXSec * fMultidiff