Loading [MathJax]/extensions/tex2jax.js
 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef PYTHIA8_I_USERPHOTONFLUX_H
6 #define PYTHIA8_I_USERPHOTONFLUX_H
11 #include "Pythia8/Pythia.h"
30 xgamma = 0.5 * 0.007297353080 /
M_PI * (1. + Pythia8::pow2(1. -
x)) / Q2;
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) );
73 static constexpr
double ALPHA_EM=7.2973525664e-3;
84 UserPhotonFlux(
const std::string&,
const std::string&,
const IInterface*);
113 #ifdef PYTHIA_VERSION_INTEGER
114 #if PYTHIA_VERSION_INTEGER > 8300
115 typedef std::shared_ptr<Pythia8::PDF>
PDFPtr;
117 #define PNEW(X, Y) std::make_shared<X>(Y);
121 #define PNEW(X, Y) new X(Y);
126 #define PNEW(X, Y) new X(Y);
static constexpr double HBAR_TIMES_C
void xfUpdate(int, double x, double)
StatusCode finalize() override
AlgTool finalize method.
StatusCode ModifyPythiaEvent(Pythia8::Pythia &pythia) const override
Update the pythia event Probably not used for this application.
void setMinX(double in_min_x)
static constexpr double M_NUCLEON_EFF
virtual double CrossSectionScaleFactor() const override
Return how much the cross section is modified.
void setMinB(double in_min_b)
void xfUpdate(int, double x, double Q2)
Lepton2gamma2(int idBeamIn)
Author: James Monk (jmonk@cern.ch)
::StatusCode StatusCode
StatusCode definition for legacy code.
Nucleus2gamma2(int idBeamIn)
StatusCode InitializePythiaInfo(Pythia8::Pythia &) const override
StatusCode initialize() override
AlgTool initialize method.
Nucleus2gamma2 * Nucleus2gammaPtr
virtual ~UserPhotonFlux()
Destructor.
UserPhotonFlux(const std::string &, const std::string &, const IInterface *)
AlgTool style constructor.
static constexpr double ALPHA_EM
Tool to implement Pythi8 main70 functionality.