GammaLib
2.1.0.dev
|
Public Member Functions | |
kn_gauss_kernel (const double &ereco, const double &e0, const double &ec, const double &sigma) | |
double | eval (const double &e) |
Computes modified Klein-Nishina cross section multiplied with Gaussian kernel. More... | |
Public Member Functions inherited from GFunction | |
GFunction (void) | |
Void constructor. More... | |
GFunction (const GFunction &function) | |
Copy constructor. More... | |
virtual | ~GFunction (void) |
Destructor. More... | |
GFunction & | operator= (const GFunction &function) |
Assignment operator. More... | |
Protected Attributes | |
double | m_ereco |
double | m_e0 |
Incident energy (MeV) More... | |
double | m_ec |
Compton edge energy (MeV) More... | |
double | m_wgt |
Inverse of Gaussian standard deviation (1/MeV) More... | |
Additional Inherited Members | |
Protected Member Functions inherited from GFunction | |
void | init_members (void) |
Initialise class members. More... | |
void | copy_members (const GFunction &function) |
Copy class members. More... | |
void | free_members (void) |
Delete class members. More... | |
Definition at line 94 of file GCOMD2Response.hpp.
|
inline |
Definition at line 96 of file GCOMD2Response.hpp.
|
virtual |
Computes modified Klein-Nishina cross section multiplied with Gaussian kernel.
[in] | e | Energy (MeV). |
Computes the modified Klein-Nishina cross section multiplied with a Gaussian kernel using
\[ KN_{\rm mod}(E|E_2,\hat{E_2}) = \sigma_{\rm KN}(E|\hat{E_2}) \times f(E|\hat{E_2}) \times \frac{1}{\sigma^2(E_2) \sqrt{2\pi}} \exp \left( -\frac{1}{2} \frac{(E-E_2)^2}{\sigma^2(E_2)} \right) \]
where
\[ \sigma_{\rm KN}(E|\hat{E_2}) = \left( \frac{E/\hat{E_2}}{1-E/\hat{E_2}} \frac{m_e c^2}{\hat{E_2}} \right)^2 - \frac{E}{\hat{E_2}} + \frac{1}{1-E/\hat{E_2}} \]
is the Klein-Nishina cross section, and
\[ f(E|\hat{E_2}) = \left \{ \begin{array}{l l} \displaystyle \exp \left( -\mu(E|\hat{E_2}) \, l(\hat{E_2}) \right), & \mbox{if $\hat{E_2} > 12.14$ MeV} \\ \displaystyle 0, & \mbox{otherwise} \\ \end{array} \right . \]
is the probability that a photon, which has been Compton scattered, has no second interaction before escaping (aborption, compton scattering, pair creation), where
\[ \mu(E|\hat{E_2}) = 0.72 \, e^{-1.28 (\hat{E_2} - E)^{0.35}} + 0.01 \, (\hat{E_2} - E) + 0.014 \, (\hat{E_2} - E)^{-2.5} \]
is the total linear attenuation coefficient in NaI for all processes, which is an empirical function which describes the values given by Harshaw, and
\[ l(\hat{E_2}) = 2.9 \log( \hat{E_2} - 11.14) \]
is an empirical path length in the D2 module (energies are in MeV). \(\hat{E_2}\) is the position of the photo peak, \(E_2\) is the energy deposit measured in D2, \(\sigma(E_2)\) is the standard deviation at the measured energy, and \(E\) is the energy over which the convolution is performed.
The code implementation is based on the COMPASS RESRS209 function KLNSUB.F (release 1.0, 14-Oct-91) and CHANCT.F (release 2.0, 26-JAN-93).
Implements GFunction.
Definition at line 1020 of file GCOMD2Response.cpp.
References exp(), gammalib::inv_sqrt2pi, log(), m_e0, m_ereco, m_wgt, gammalib::mec2, and pow().
|
protected |
|
protected |
Compton edge energy (MeV)
Definition at line 108 of file GCOMD2Response.hpp.
|
protected |
Definition at line 106 of file GCOMD2Response.hpp.
Referenced by eval().
|
protected |
Inverse of Gaussian standard deviation (1/MeV)
Definition at line 109 of file GCOMD2Response.hpp.
Referenced by eval().