GENIEGenerator
Loading...
Searching...
No Matches
INukeOsetFormula.h
Go to the documentation of this file.
1/**
2 * @brief Formula-based implementation of Oset model
3 *
4 * @author Tomasz Golan
5 * @date 2015
6 * @warning Applicable for pion with Tk < 350 MeV
7 * @remarks Based on E. Oset et al., Nucl. Phys. A484 (1988) 557-592
8 *
9*/
10
11#ifndef INUKE_OSET_FORMULA_H
12#define INUKE_OSET_FORMULA_H
13
14#include "INukeOset.h"
15
16// calculate cross section for piN based on Oset model
18{
19 public:
21 //! use to set up Oset class (assign pion Tk, nuclear density etc)
22 void setupOset (const double &density, const double &pionTk,
23 const int &pionPDG, const double &protonFraction);
24
25 private:
26
27 // constants
28 static const double fCouplingConstant; //!< f*^2
29 static const double fNucleonMass; //!< average nucleon mass [MeV]
30 static const double fNucleonMass2; //!< average nucleon mass squared
31 static const double fDeltaMass; //!< delta mass in MeV
32 static const double fNormalDensity; //!< normal nuclear density [fm-3]
33 static const double fNormFactor; //!< MeV^-2 -> mb
34
35 static const double fCoefSigma[fNChannels]; //!< s-wave parametrization eq. 3.7
36 static const double fCoefB[fNChannels]; //!< s-wave parametrization eq. 3.8
37 static const double fCoefD[fNChannels]; //!< s-wave parametrization eq. 3.8
38 static const double ImB0; //!< s-wave parametrization eq. 3.12
39
40 static const double fCoefCQ[fNChannels]; //!< quasi-elastic term (eq. 2.21)
41 static const double fCoefCA2[fNChannels]; //!< two-body absorption (eq. 2.21)
42 static const double fCoefCA3[fNChannels]; //!< three-body absorption (eq. 2.21)
43 static const double fCoefAlpha[fNChannels]; //!< alpha (eq. 2.21)
44 static const double fCoefBeta[fNChannels]; //!< beta (eq. 2.21)
45
46 // kinematics variables
47 double fPionMass; //!< pion mass in MeV
48 double fPionMass2; //!< pion mass squared
49 double fPionMomentum; //!< pion momentum in MeV
50 double fPionEnergy; //!< pion total energy in MeV
51 double fMomentumCMS; //!< momentum in CMS in MeV
52 double fMomentumCMS2; //!< momentum in CMS squared
53 double fInvariantMass; //!< inv mass = sqrt(s mandelstam) in MeV
54
55 // delta variables
56 double fReducedHalfWidth; //!< reduced delta half width in MeV
57 double fSelfEnergyTotal; //!< total delta self energy in MeV
58 double fSelfEnergyAbsorption; //!< abs part of delta self energy in MeV
59 double fDeltaPropagator2; //!< |delta propagator|^2 in MeV-2
60
61 // nucleus variables
62 double fFermiMomentum; //!< Fermi momentum in MeV
63 double fFermiEnergy; //!< Fermi energy in MeV
64
65 // cross sections
66 double fCouplingFactor; //!< (coupling constant / pion mass)^2
67
68 //! set nuclear density and Fermi momentum / energy
69 void setNucleus (const double &density);
70 //! do kinematics
71 void setKinematics (const double &pionTk, const bool &isPi0);
72 //! set up Delta
73 void setDelta ();
74
75 //! calculate delta self energy
76 void setSelfEnergy ();
77
78 //! calculalte delta width reduction in nuclear medium
79 double deltaReduction () const;
80
81 //! calculalte cross sections for each channel
82 void setCrossSections ();
83};
84
85
86#endif // INUKE_OSET_FORMULA_H
Formula-based implementation of Oset model.
double fPionMomentum
pion momentum in MeV
void setNucleus(const double &density)
set nuclear density and Fermi momentum / energy
double fFermiMomentum
Fermi momentum in MeV.
double fCouplingFactor
(coupling constant / pion mass)^2
static const double fDeltaMass
delta mass in MeV
void setDelta()
set up Delta
static const double fCoefCQ[fNChannels]
quasi-elastic term (eq. 2.21)
static const double fCouplingConstant
f*^2
void setupOset(const double &density, const double &pionTk, const int &pionPDG, const double &protonFraction)
use to set up Oset class (assign pion Tk, nuclear density etc)
static const double fNucleonMass
average nucleon mass [MeV]
static const double fNormalDensity
normal nuclear density [fm-3]
double fMomentumCMS
momentum in CMS in MeV
double fMomentumCMS2
momentum in CMS squared
static const double fNormFactor
MeV^-2 -> mb.
void setCrossSections()
calculalte cross sections for each channel
double deltaReduction() const
calculalte delta width reduction in nuclear medium
static const double fCoefBeta[fNChannels]
beta (eq. 2.21)
double fSelfEnergyAbsorption
abs part of delta self energy in MeV
static const double fCoefCA3[fNChannels]
three-body absorption (eq. 2.21)
static const double fCoefCA2[fNChannels]
two-body absorption (eq. 2.21)
double fPionMass2
pion mass squared
static const double fCoefSigma[fNChannels]
s-wave parametrization eq. 3.7
static const double fCoefB[fNChannels]
s-wave parametrization eq. 3.8
double fPionEnergy
pion total energy in MeV
void setKinematics(const double &pionTk, const bool &isPi0)
do kinematics
static const double fCoefAlpha[fNChannels]
alpha (eq. 2.21)
double fSelfEnergyTotal
total delta self energy in MeV
double fReducedHalfWidth
reduced delta half width in MeV
double fInvariantMass
inv mass = sqrt(s mandelstam) in MeV
double fDeltaPropagator2
|delta propagator|^2 in MeV-2
static const double ImB0
s-wave parametrization eq. 3.12
double fPionMass
pion mass in MeV
void setSelfEnergy()
calculate delta self energy
static const double fNucleonMass2
average nucleon mass squared
double fFermiEnergy
Fermi energy in MeV.
static const double fCoefD[fNChannels]
s-wave parametrization eq. 3.8
INukeOset()
contructor
Definition INukeOset.cxx:8
static const unsigned int fNChannels
number of possible channels: pi+n, pi+p, pi0
Definition INukeOset.h:81