GENIEGenerator
Loading...
Searching...
No Matches
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-2025, 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
31namespace genie {
32
33class XSecIntegratorI;
34
36
37public:
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
52private:
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;
80 double fMedMass;
81 double fgZp;
82};
83
84} // genie namespace
85
86#endif
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
void Configure(const Registry &config)
double Integral(const Interaction *i) const
const XSecIntegratorI * fXSecIntegrator
Summary information for an interaction.
Definition Interaction.h:56
A registry. Provides the container for algorithm configuration parameters.
Definition Registry.h:65
Cross Section Integrator Interface.
THE MAIN GENIE PROJECT NAMESPACE
Definition AlgCmp.h:25
enum genie::EKinePhaseSpace KinePhaseSpace_t