GENIEGenerator
Loading...
Searching...
No Matches
LwlynSmithQELCCPXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::LwlynSmithQELCCPXSec
5
6\brief Computes neutrino-nucleon(nucleus) QELCC differential cross section
7 Is a concrete implementation of the XSecAlgorithmI interface. \n
8
9\ref C.H.Llewellyn Smith, Physics Reports (Sect. C of Physics Letters) 3,
10 No. 5 (1972) 261-379
11
12\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
13 University of Liverpool
14
15\created May 05, 2004
16
17\cpright Copyright (c) 2003-2025, The GENIE Collaboration
18 For the full text of the license visit http://copyright.genie-mc.org
19
20*/
21//____________________________________________________________________________
22
23#ifndef _LLEWELLYN_SMITH_QELCC_CROSS_SECTION_H_
24#define _LLEWELLYN_SMITH_QELCC_CROSS_SECTION_H_
25
31
32namespace genie {
33
35class XSecIntegratorI;
36
38
39public:
41 LwlynSmithQELCCPXSec(string config);
42 virtual ~LwlynSmithQELCCPXSec();
43
44 // XSecAlgorithmI interface implementation
45 double XSec (const Interaction * i, KinePhaseSpace_t k) const;
46 double Integral (const Interaction * i) const;
47 bool ValidProcess (const Interaction * i) const;
48
49 // Override the Algorithm::Configure methods to load configuration
50 // data to private data members
51 void Configure (const Registry & config);
52 void Configure (string param_set);
53
54private:
55 double FullDifferentialXSec(const Interaction * i) const;
56
57 void LoadConfig (void);
58
62 double fCos8c2; ///< cos^2(cabibbo angle)
63
64 double fXSecCCScale; ///< external xsec scaling factor for CC
65 double fXSecNCScale; ///< external xsec scaling factor for NC
66 double fXSecEMScale; ///< external xsec scaling factor for EM
67
68 // Variables for integrating
70 bool fLFG; ///< If the nuclear model is lfg alway average over nucleons
71 bool fDoAvgOverNucleonMomentum; ///< Average cross section over hit nucleon monentum?
72 double fEnergyCutOff; ///< Average only for energies below this cutoff defining
73 ///< the region where nuclear modeling details do matter
74
75 /// Enum specifying the method to use when calculating the binding energy of
76 /// the initial hit nucleon during spline generation
78
79 /// Whether to apply Pauli blocking in FullDifferentialXSec
81 /// The PauliBlocker instance to use to apply that correction
83};
84
85} // genie namespace
86
87#endif
Summary information for an interaction.
Definition Interaction.h:56
bool fDoAvgOverNucleonMomentum
Average cross section over hit nucleon monentum?
const NuclearModelI * fNuclModel
double fCos8c2
cos^2(cabibbo angle)
double XSec(const Interaction *i, KinePhaseSpace_t k) const
Compute the cross section for the input interaction.
double fXSecNCScale
external xsec scaling factor for NC
void Configure(const Registry &config)
double fXSecEMScale
external xsec scaling factor for EM
bool fDoPauliBlocking
Whether to apply Pauli blocking in FullDifferentialXSec.
bool ValidProcess(const Interaction *i) const
Can this cross section algorithm handle the input process?
const XSecIntegratorI * fXSecIntegrator
double fXSecCCScale
external xsec scaling factor for CC
double Integral(const Interaction *i) const
QELEvGen_BindingMode_t fIntegralNucleonBindingMode
const genie::PauliBlocker * fPauliBlocker
The PauliBlocker instance to use to apply that correction.
const QELFormFactorsModelI * fFormFactorsModel
double FullDifferentialXSec(const Interaction *i) const
bool fLFG
If the nuclear model is lfg alway average over nucleons.
Pure abstract base class. Defines the NuclearModelI interface to be implemented by any physics model ...
Examines whether the generated event should be Pauli blocked. Is a concerete implementation of the Ev...
Pure abstract base class. Defines the QELFormFactorsModelI interface to be implemented by any algorit...
A class holding Quasi Elastic (QEL) Form Factors.
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::EQELEvGenBindingMode QELEvGen_BindingMode_t
enum genie::EKinePhaseSpace KinePhaseSpace_t