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 <costas.andreopoulos \at stfc.ac.uk>
16  University of Liverpool & STFC Rutherford Appleton Lab
17 
18 \created September 4, 2017
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 _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 fkAlpha;
58  double fkGamma;
59  double fEta;
60  double fFa0;
61  double fMa2;
62  double fMv2;
63  double fMuP;
64  double fMuN;
65  int fVelMode;
66  double fMedMass;
67  double fgZp;
68 };
69 
70 } // genie namespace
71 
72 #endif
Cross Section Calculation Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition: GeneratorBase.h:8
Cross Section Integrator Interface.
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
Definition: config.py:1
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:66
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
void Configure(const Registry &config)