GENIEGenerator
Loading...
Searching...
No Matches
PattonCEvNSPXSec.h
Go to the documentation of this file.
1//____________________________________________________________________________
2/*!
3
4\class genie::PattonCEvNSPXSec
5
6\brief Differential cross section for v+As coherent elastic scattering.
7 Is a concrete implementation of the XSecAlgorithmI interface.
8
9\ref K.Patton, J.Engel, G.McLaughlin, and N.Schunck, arXiv:1207.0693v1
10
11\author Costas Andreopoulos <c.andreopoulos \at cern.ch>
12 University of Liverpool
13
14\created July 12, 2019
15
16\cpright Copyright (c) 2003-2025, The GENIE Collaboration
17 For the full text of the license visit http://copyright.genie-mc.org
18*/
19//____________________________________________________________________________
20
21#ifndef _PATTON_ET_AL_COHERENT_ELASTIC_PXSEC_H_
22#define _PATTON_ET_AL_COHERENT_ELASTIC_PXSEC_H_
23
25
26namespace genie {
27
28class XSecIntegratorI;
29
31
32public:
34 PattonCEvNSPXSec(string config);
35 virtual ~PattonCEvNSPXSec();
36
37 // XSecAlgorithmI interface implementation
38 double XSec (const Interaction * i, KinePhaseSpace_t k) const;
39 double Integral (const Interaction * i) const;
40 bool ValidProcess (const Interaction * i) const;
41
42 // Override the Algorithm::Configure methods to load configuration
43 // data to private data members
44 void Configure (const Registry & config);
45 void Configure (string param_set);
46
47private:
48
49 void LoadConfig(void);
50
51 // Calculate nuclear density moments
52 double NuclearDensityMoment(int A, int k) const;
53
54 const XSecIntegratorI * fXSecIntegrator; ///< cross section integrator
55 double fSin2thw; ///< sin^2(weinberg angle)
56
57 // Parameters used for the numerical integration yielding nuclear density moments
58 double fNuclDensMomentCalc_UpperIntegrationLimit; // upper integration limit (in units of nuclear radii R0*A^1/3)
59 double fNuclDensMomentCalc_RelativeTolerance; // relative tolerance for numerical integrator
60 double fNuclDensMomentCalc_AbsoluteTolerance; // absolute tolerance for numerical integrator
61 int fNuclDensMomentCalc_MaxNumOfEvaluations; // maximum number of integran evaluations in numerical integration
62
63};
64
65} // genie namespace
66
67#endif // _PATTON_ET_AL_COHERENT_ELASTIC_PXSEC_H_
Summary information for an interaction.
Definition Interaction.h:56
const XSecIntegratorI * fXSecIntegrator
cross section integrator
double Integral(const Interaction *i) const
double NuclearDensityMoment(int A, int k) const
void Configure(const Registry &config)
double fSin2thw
sin^2(weinberg angle)
double fNuclDensMomentCalc_UpperIntegrationLimit
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.
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