GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
DMElectronPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::DMElectronPXSec
5 
6 \brief nu/nubar + e- scattering differential cross section \n
7  The cross section algorithm handles:
8  - nue/nuebar + e- -> nue/nuebar + e- [CC + NC + interference]
9  - numu/nutau + e- -> numu/nutau + e- [NC]
10  - numubar/nutaubar + e- -> numubar/nutaubar + e- [NC]
11  - numu/nutau + e- -> l- + nu_e [CC]
12 
13  Is a concrete implementation of the XSecAlgorithmI interface. \n
14 
15 \ref W.J.Marciano and Z.Parsa, Neutrino-electron scattering theory,
16  J.Phys.G: Nucl.Part.Phys. 29 (2003) 2629-2645
17 
18 \author Costas Andreopoulos <c.andreopoulos \at cern.ch>
19  University of Liverpool
20 
21 \created February 10, 2006
22 
23 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
24  For the full text of the license visit http://copyright.genie-mc.org
25 
26 */
27 //____________________________________________________________________________
28 
29 #ifndef _DM_ELECTRON_PARTIAL_XSEC_H_
30 #define _DM_ELECTRON_PARTIAL_XSEC_H_
31 
33 
34 namespace genie {
35 
36 class IntegratorI;
37 class XSecIntegratorI;
38 
40 
41 public:
43  DMElectronPXSec(string config);
44  virtual ~DMElectronPXSec();
45 
46  //-- XSecAlgorithmI interface implementation
47  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
48  double Integral (const Interaction * i) const;
49  bool ValidProcess (const Interaction * i) const;
50  bool ValidKinematics (const Interaction * i) const;
51 
52  //-- overload the Algorithm::Configure() methods to load private data
53  // members from configuration options
54  void Configure(const Registry & config);
55  void Configure(string config);
56 
57 private:
58  void LoadConfig (void);
59 
61 
62  double fgZp4;
63  double fQdmL;
64  double fQdmR;
65  double fQdmS;
66  double fQeL;
67  double fQeR;
68  double fMedMass;
69  int fVelMode;
70 
71 };
72 
73 } // genie namespace
74 #endif // _DM_ELECTRON_PARTIAL_XSEC_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
nu/nubar + e- scattering differential cross section The cross section algorithm handles: ...
enum genie::EKinePhaseSpace KinePhaseSpace_t
const XSecIntegratorI * fXSecIntegrator
Summary information for an interaction.
Definition: Interaction.h:56
void Configure(const Registry &config)
double Integral(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
bool ValidKinematics(const Interaction *i) const
Is the input kinematical point a physically allowed one?
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.