GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
NuElectronPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::NuElectronPXSec
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 #ifndef _NU_ELECTRON_PARTIAL_XSEC_H_
29 #define _NU_ELECTRON_PARTIAL_XSEC_H_
30 
32 
33 namespace genie {
34 
35 class IntegratorI;
36 class XSecIntegratorI;
37 
39 
40 public:
42  NuElectronPXSec(string config);
43  virtual ~NuElectronPXSec();
44 
45  //-- XSecAlgorithmI interface implementation
46  double XSec (const Interaction * i, KinePhaseSpace_t k) const;
47  double Integral (const Interaction * i) const;
48  bool ValidProcess (const Interaction * i) const;
49  bool ValidKinematics (const Interaction * i) const;
50 
51  //-- overload the Algorithm::Configure() methods to load private data
52  // members from configuration options
53  void Configure(const Registry & config);
54  void Configure(string config);
55 
56 private:
57  void LoadConfig (void);
58 
60 
61  double fSin28w; // sin^2(theta-weinberg)
62  double fSin48w;
63 };
64 
65 } // genie namespace
66 #endif // _NU_ELECTRON_PARTIAL_XSEC_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
const XSecIntegratorI * fXSecIntegrator
enum genie::EKinePhaseSpace KinePhaseSpace_t
double Integral(const Interaction *i) const
Summary information for an interaction.
Definition: Interaction.h:56
nu/nubar + e- scattering differential cross section The cross section algorithm handles: ...
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.
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
void Configure(const Registry &config)
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?