hej is hosted by Hepforge, IPPP Durham
HEJ 2.1.4
High energy resummation for hadron colliders
Loading...
Searching...
No Matches
PDF.hh
Go to the documentation of this file.
1
9#pragma once
10
11#include <array>
12#include <cstddef>
13#include <memory>
14
15#include "HEJ/PDG_codes.hh"
16
17namespace LHAPDF {
18 class PDF;
19}
20
21namespace HEJ {
23 class PDF {
24 public:
31 PDF(int id, ParticleID beam1, ParticleID beam2);
32
43 double pdfpt(std::size_t beam_idx, double x, double q, ParticleID id) const;
44
50 double Halphas(double q) const;
51
53
57 bool inRangeQ(double q) const;
58
60
64 bool inRangeX(double x) const;
65
67 int id() const;
68
69 PDF(PDF const & other) = delete;
70 PDF & operator=(PDF const & other) = delete;
71 PDF(PDF && other) noexcept;
72 PDF & operator=(PDF && other) noexcept;
74
75 private:
77 std::unique_ptr<LHAPDF::PDF> pdf_;
78
79 std::array<int, 2> beamtype_{};
80 };
81} // namespace HEJ
Contains the Particle IDs of all relevant SM particles.
Class for interaction with a PDF set.
Definition: PDF.hh:23
bool inRangeQ(double q) const
Check if the energy scale is within the range covered by the PDF set.
bool inRangeX(double x) const
Check if the momentum fraction is within the range covered by the PDF set.
double Halphas(double q) const
Value of the strong coupling at the given scale.
double pdfpt(std::size_t beam_idx, double x, double q, ParticleID id) const
Calculate the pdf value x*f(x, q)
PDF(PDF &&other) noexcept
Moving allowed.
PDF & operator=(PDF const &other)=delete
Copy not possible.
PDF(int id, ParticleID beam1, ParticleID beam2)
PDF Constructor.
PDF & operator=(PDF &&other) noexcept
Moving allowed.
int id() const
PDF id of the current set.
PDF(PDF const &other)=delete
Copy not possible.
ParticleID
The possible particle identities. We use PDG IDs as standard.
Definition: PDG_codes.hh:23
Main HEJ 2 Namespace.
Definition: mainpage.dox:1
Definition: PDF.hh:17