ATLAS Offline Software
Loading...
Searching...
No Matches
Nucleus2gamma2 Class Reference

#include <UserPhotonFlux.h>

Inheritance diagram for Nucleus2gamma2:
Collaboration diagram for Nucleus2gamma2:

Public Member Functions

 Nucleus2gamma2 (int idBeamIn)
void xfUpdate (int, double x, double)
void setZ (double in_Z)
void setMinB (double in_min_b)
void setMinX (double in_min_x)

Private Attributes

double m_Z
double m_min_b
double m_min_x

Static Private Attributes

static constexpr double M_NUCLEON_EFF =0.9315
static constexpr double ALPHA_EM =7.2973525664e-3
static constexpr double HBAR_TIMES_C =0.1973269788

Detailed Description

Definition at line 34 of file UserPhotonFlux.h.

Constructor & Destructor Documentation

◆ Nucleus2gamma2()

Nucleus2gamma2::Nucleus2gamma2 ( int idBeamIn)
inline

Definition at line 40 of file UserPhotonFlux.h.

40 : Pythia8::PDF(idBeamIn),
41 m_Z(82.),
42 m_min_b(13.24),
43 m_min_x(-1)
44 {}

Member Function Documentation

◆ setMinB()

void Nucleus2gamma2::setMinB ( double in_min_b)
inline

Definition at line 63 of file UserPhotonFlux.h.

63{m_min_b=in_min_b;};

◆ setMinX()

void Nucleus2gamma2::setMinX ( double in_min_x)
inline

Definition at line 64 of file UserPhotonFlux.h.

64{m_min_x=in_min_x;};

◆ setZ()

void Nucleus2gamma2::setZ ( double in_Z)
inline

Definition at line 62 of file UserPhotonFlux.h.

62{m_Z=in_Z;};

◆ xfUpdate()

void Nucleus2gamma2::xfUpdate ( int ,
double x,
double  )
inline

Definition at line 47 of file UserPhotonFlux.h.

47 {
48
49
50 if(x < m_min_x)
51 {
52 xgamma=0;
53 return;
54 }
55 using Pythia8::pow2;
56 double xi = x * M_NUCLEON_EFF * m_min_b / HBAR_TIMES_C;
57 double bK0 = Pythia8::besselK0(xi);
58 double bK1 = Pythia8::besselK1(xi);
59 double intB = xi * bK1 * bK0 - 0.5 * pow2(xi) * ( pow2(bK1) - pow2(bK0) );
60 xgamma = 2. * ALPHA_EM * pow2(m_Z) / M_PI * intB;
61 }
#define M_PI
static const std::map< unsigned int, unsigned int > pow2
#define x
static constexpr double M_NUCLEON_EFF
static constexpr double ALPHA_EM
static constexpr double HBAR_TIMES_C

Member Data Documentation

◆ ALPHA_EM

double Nucleus2gamma2::ALPHA_EM =7.2973525664e-3
staticconstexprprivate

Definition at line 73 of file UserPhotonFlux.h.

◆ HBAR_TIMES_C

double Nucleus2gamma2::HBAR_TIMES_C =0.1973269788
staticconstexprprivate

Definition at line 74 of file UserPhotonFlux.h.

◆ m_min_b

double Nucleus2gamma2::m_min_b
private

Definition at line 67 of file UserPhotonFlux.h.

◆ m_min_x

double Nucleus2gamma2::m_min_x
private

Definition at line 68 of file UserPhotonFlux.h.

◆ M_NUCLEON_EFF

double Nucleus2gamma2::M_NUCLEON_EFF =0.9315
staticconstexprprivate

Definition at line 72 of file UserPhotonFlux.h.

◆ m_Z

double Nucleus2gamma2::m_Z
private

Definition at line 66 of file UserPhotonFlux.h.


The documentation for this class was generated from the following file: