GENIEGenerator
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Born.h
Go to the documentation of this file.
1 //____________________________________________________________________________
2 /*!
3 
4 \class genie::Born
5 
6 \brief Born level nu-electron cross section.
7 
8 \author Alfonso Garcia <aagarciasoto \at km3net.de>
9  IFIC & Harvard University
10 
11 \created Dec 8, 2021
12 
13 \cpright Copyright (c) 2003-2024, The GENIE Collaboration
14  For the full text of the license visit http://copyright.genie-mc.org
15  or see $GENIE/LICENSE
16 */
17 //____________________________________________________________________________
18 
19 #ifndef _BORN_PXSEC_H_
20 #define _BORN_PXSEC_H_
21 
22 #include <TComplex.h>
23 
24 namespace genie {
25 
26 class Born {
27 
28 public:
29  Born ();
30  virtual ~Born ();
31 
32  double GetReAlpha (void) { return falpha.Re(); }
33  double PXSecCCR (double s, double t, double mlin, double mlout);
34  double PXSecCCV (double s, double t, double mlin, double mlout);
35  double PXSecCCRNC (double s, double t, double mlin, double mlout);
36  double PXSecCCVNC (double s, double t, double mlin, double mlout);
37  double PXSecNCVnu (double s, double t, double mlin, double mlout);
38  double PXSecNCVnubar (double s, double t, double mlin, double mlout);
39  double PXSecPhoton (double s, double t, double mlout2);
40  double PXSecPhoton_T (double s12, double s13, double Q2, double ml2);
41  double PXSecPhoton_L (double s12, double s13, double Q2, double ml2);
42  double GetS (double mlin, double Enuin);
43  double GetT (double mlin, double mlout, double s, double costhCM);
44  double GetU (double mlin, double mlout, double s, double t);
45  bool IsInPhaseSpace (double mlin, double mlout, double Enuin, double Enuout);
46  double Lambda (double a, double b, double c);
47 
48 private:
49 
50  double fGw;
51  double fGz;
52 
53  TComplex falpha;
54  TComplex fsw2;
55  TComplex fcw2;
56  TComplex fmw2c;
57  TComplex fmz2c;
58  TComplex fgae;
59  TComplex fgbe;
60  TComplex fgav;
61 
62 };
63 
64 } // genie namespace
65 
66 #endif // _BORN_H_
TComplex fsw2
Definition: Born.h:54
double GetT(double mlin, double mlout, double s, double costhCM)
Definition: Born.cxx:200
TComplex fgav
Definition: Born.h:60
double Q2(const Interaction *const i)
Definition: KineUtils.cxx:1077
double PXSecPhoton_T(double s12, double s13, double Q2, double ml2)
Definition: Born.cxx:135
static constexpr double s
Definition: Units.h:95
double PXSecNCVnubar(double s, double t, double mlin, double mlout)
Definition: Born.cxx:109
bool IsInPhaseSpace(double mlin, double mlout, double Enuin, double Enuout)
Definition: Born.cxx:212
double GetReAlpha(void)
Definition: Born.h:32
static constexpr double b
Definition: Units.h:78
double PXSecCCVNC(double s, double t, double mlin, double mlout)
Definition: Born.cxx:87
const double a
double fGw
Definition: Born.h:50
double Lambda(double a, double b, double c)
Definition: Born.cxx:190
double PXSecPhoton_L(double s12, double s13, double Q2, double ml2)
Definition: Born.cxx:163
double PXSecCCR(double s, double t, double mlin, double mlout)
Definition: Born.cxx:58
double GetS(double mlin, double Enuin)
Definition: Born.cxx:195
TComplex falpha
Definition: Born.h:53
TComplex fgbe
Definition: Born.h:59
double PXSecCCRNC(double s, double t, double mlin, double mlout)
Definition: Born.cxx:76
Born level nu-electron cross section.
Definition: Born.h:26
double PXSecCCV(double s, double t, double mlin, double mlout)
Definition: Born.cxx:67
double PXSecPhoton(double s, double t, double mlout2)
Definition: Born.cxx:120
TComplex fgae
Definition: Born.h:58
TComplex fcw2
Definition: Born.h:55
double PXSecNCVnu(double s, double t, double mlin, double mlout)
Definition: Born.cxx:98
virtual ~Born()
Definition: Born.cxx:42
TComplex fmz2c
Definition: Born.h:57
double GetU(double mlin, double mlout, double s, double t)
Definition: Born.cxx:207
TComplex fmw2c
Definition: Born.h:56
double fGz
Definition: Born.h:51