ATLAS Offline Software
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
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 35 of file UserPhotonFlux.h.

Constructor & Destructor Documentation

◆ Nucleus2gamma2()

Nucleus2gamma2::Nucleus2gamma2 ( int  idBeamIn)
inline

Definition at line 41 of file UserPhotonFlux.h.

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

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 48 of file UserPhotonFlux.h.

48  {
49 
50 
51  if(x < m_min_x)
52  {
53  xgamma=0;
54  return;
55  }
56  double xi = x * M_NUCLEON_EFF * m_min_b / HBAR_TIMES_C;
57  double bK0 = besselK0(xi);
58  double bK1 = 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  }

Member Data Documentation

◆ ALPHA_EM

constexpr double Nucleus2gamma2::ALPHA_EM =7.2973525664e-3
staticconstexprprivate

Definition at line 73 of file UserPhotonFlux.h.

◆ HBAR_TIMES_C

constexpr 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

constexpr 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:
Nucleus2gamma2::HBAR_TIMES_C
static constexpr double HBAR_TIMES_C
Definition: UserPhotonFlux.h:74
Powheg_tt_mtop_common.PDF
PDF
Definition: Powheg_tt_mtop_common.py:110
Nucleus2gamma2::M_NUCLEON_EFF
static constexpr double M_NUCLEON_EFF
Definition: UserPhotonFlux.h:72
M_PI
#define M_PI
Definition: ActiveFraction.h:11
x
#define x
conifer::pow2
constexpr int pow2(int x)
Definition: conifer.h:24
Nucleus2gamma2::m_min_x
double m_min_x
Definition: UserPhotonFlux.h:68
Nucleus2gamma2::m_Z
double m_Z
Definition: UserPhotonFlux.h:64
Nucleus2gamma2::m_min_b
double m_min_b
Definition: UserPhotonFlux.h:67
Nucleus2gamma2::ALPHA_EM
static constexpr double ALPHA_EM
Definition: UserPhotonFlux.h:73