GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
BertuzzoDNuCOHPXSec.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3  \class genie::BertuzzoDNuCOHPXSec
4 
5  \brief Differential cross section for v+As coherent elastic scattering.Coherent DNu. \n
6  Is a concrete implementation of the XSecAlgorithmI interface. \n
7 
8  \ref E.Bertuzzo, S.Jana, P.A.N.Machado, R. Zukanovich Funcal
9  PhysRevLett.121.241801 (2018)
10 
11  \author Author: Iker de Icaza <i.de-icaza-astiz \at sussex.ac.uk>
12  University of Sussex
13 
14  Costas Andreopoulos <c.andreopoulos \at cern.ch>
15  University of Liverpool
16 
17  \created June 12, 2020
18 
19  \cpright Copyright (c) 2003-2024, The GENIE Collaboration
20  For the full text of the license visit http://copyright.genie-mc.org
21 
22 */
23 //____________________________________________________________________________
24 
25 #ifndef _BERTUZZO_DNu_COH_CROSS_SECTION_H_
26 #define _BERTUZZO_DNu_COH_CROSS_SECTION_H_
27 
30 
31 namespace genie {
32 
33 class XSecIntegratorI;
34 
36 
37 public:
39  BertuzzoDNuCOHPXSec(string config);
40  virtual ~BertuzzoDNuCOHPXSec();
41 
42  // XSecAlgorithmI interface implementation
43  double XSec (const Interaction * i, KinePhaseSpace_t k) const override;
44  double Integral (const Interaction * i) const override;
45  bool ValidProcess (const Interaction * i) const override;
46  bool ValidKinematics (const Interaction * i) const override;
47 
48  // Override the Algorithm::Configure methods to load configuration
49  // data to private data members
50  void Configure (const Registry & config) override;
51  void Configure (string param_set) override;
52 
53 private:
54 
55  void LoadConfig(void);
56 
57  const XSecIntegratorI * fXSecIntegrator; ///< cross section integrator
58  const EngelFormFactor * fFF; ///< Engel Form Factor algorithm
59 
60  double fEps2;
61 
62  std::array<double, 4> fMixing2s;
63  // mixing angles between the neutrinos (including a 4rth sterile one)
64  // to the dark neutrino
65 
66  double fAlpha_D;
67 
70 
71 };
72 
73 } // genie namespace
74 
75 
76 #endif // _BERTUZZO_DNu_COH_CROSS_SECTION_H_
Cross Section Calculation Interface.
Cross Section Integrator Interface.
Form Factor for BertuzzoDNuCOHXSec...
enum genie::EKinePhaseSpace KinePhaseSpace_t
void Configure(const Registry &config) override
std::array< double, 4 > fMixing2s
Summary information for an interaction.
Definition: Interaction.h:56
double Integral(const Interaction *i) const override
bool ValidProcess(const Interaction *i) const override
Can this cross section algorithm handle the input process?
Differential cross section for v+As coherent elastic scattering.Coherent DNu. Is a concrete impleme...
const XSecIntegratorI * fXSecIntegrator
cross section integrator
A registry. Provides the container for algorithm configuration parameters.
Definition: Registry.h:65
bool ValidKinematics(const Interaction *i) const override
Is the input kinematical point a physically allowed one?
const EngelFormFactor * fFF
Engel Form Factor algorithm.
double XSec(const Interaction *i, KinePhaseSpace_t k) const override
Compute the cross section for the input interaction.