GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
AhrensDMELPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::AhrensDMELPXSec
5 
6 \brief Differential cross section for DM+N elastic scattering. \n
7  Is a concrete implementation of the XSecAlgorithmI interface. \n
8 
9 \ref R.E.Hendrick and L.Li, Phys.Rev.D 19:779 (1979)
10  L.A.Ahrens et al., Phys.Rev.D 35:785 (1987)
11 
12 \author Joshua Berger <jberger \at physics.wisc.edu>
13  University of Wisconsin-Madison
14 
15  Costas Andreopoulos <c.andreopoulos \at cern.ch>
16  University of Liverpool
17 
18 \created September 4, 2017
19 
20 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
21  For the full text of the license visit http://copyright.genie-mc.org
22 
23 */
24 //____________________________________________________________________________
25 
26 #ifndef _AHRENS_DMEL_CROSS_SECTION_H_
27 #define _AHRENS_DMEL_CROSS_SECTION_H_
28 
30 
31 namespace genie {
32 
33 class XSecIntegratorI;
34 
36 
37 public:
39  AhrensDMELPXSec(string config);
40  virtual ~AhrensDMELPXSec();
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  // Override the Algorithm::Configure methods to load configuration
48  // data to private data members
49  void Configure (const Registry & config);
50  void Configure (string param_set);
51 
52 private:
53  void LoadConfig(void);
54 
56 
57  double fQchiV;
58  double fQchiA;
59  double fQchiS;
60  double fQuV;
61  double fQuA;
62  double fQdV;
63  double fQdA;
64  double fQsV;
65  double fQsA;
66  double fMa2;
67  double fMv2;
68  double fMp2;
69  double fMpi2;
70  double fMeta2;
71  double fMuP;
72  double fMuN;
73  double fDelu;
74  double fDeld;
75  double fDels;
76  double fDeluP;
77  double fDeldP;
78  double fDelsP;
79  int fVelMode;
80  double fMedMass;
81  double fgZp;
82 };
83 
84 } // genie namespace
85 
86 #endif
Cross Section Calculation Interface.
Cross Section Integrator Interface.
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
enum genie::EKinePhaseSpace KinePhaseSpace_t
Summary information for an interaction.
Definition: Interaction.h:56
double Integral(const Interaction *i) const
const XSecIntegratorI * fXSecIntegrator
Differential cross section for DM+N elastic scattering. Is a concrete implementation of the XSecAlg...
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
void Configure(const Registry &config)