cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
KMRGluonKTFlux.cpp
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2023 Laurent Forthomme
4
*
5
* This program is free software: you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License as published by
7
* the Free Software Foundation, either version 3 of the License, or
8
* any later version.
9
*
10
* This program is distributed in the hope that it will be useful,
11
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
* GNU General Public License for more details.
14
*
15
* You should have received a copy of the GNU General Public License
16
* along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
#include "
CepGen/KTFluxes/KTFlux.h
"
20
#include "
CepGen/Modules/PartonFluxFactory.h
"
21
#include "
CepGen/Physics/GluonGrid.h
"
22
#include "
CepGen/Physics/PDG.h
"
23
24
namespace
cepgen
{
25
struct
KMRGluonKTFlux
final :
public
KTFlux
{
26
using
KTFlux::KTFlux
;
27
static
ParametersDescription
description
() {
28
auto
desc =
KTFlux::description
();
29
desc.setDescription(
"Proton inelastic gluon emission (KMR flux)"
);
30
return
desc;
31
}
32
double
fluxMX2
(
double
x,
double
kt2,
double
mx2)
const override
{
33
if
(!
x_range_
.
contains
(x,
true
))
34
return
0.;
35
return
kmr::GluonGrid::get
()(x, kt2, mx2);
36
}
37
pdgid_t
partonPdgId
()
const override
{
return
PDG::gluon
; }
38
bool
fragmenting
()
const override
{
return
false
; }
39
double
mass2
()
const override
{
return
mp2_
; }
40
};
41
}
// namespace cepgen
42
43
REGISTER_KT_FLUX
(
"KMR"
, 20, KMRGluonKTFlux);
GluonGrid.h
KTFlux.h
PDG.h
PartonFluxFactory.h
REGISTER_KT_FLUX
#define REGISTER_KT_FLUX(name, id, obj)
Add a generic KT-factorised flux evaluator builder definition.
Definition
PartonFluxFactory.h:34
cepgen::KTFlux
Definition
KTFlux.h:25
cepgen::KTFlux::KTFlux
KTFlux(const ParametersList &)
Definition
KTFlux.cpp:24
cepgen::KTFlux::description
static ParametersDescription description()
Definition
KTFlux.cpp:26
cepgen::Limits::contains
bool contains(double val, bool exclude_boundaries=false) const
Check if value is inside limits' boundaries.
Definition
Limits.cpp:77
cepgen::PDG::gluon
@ gluon
Definition
PDG.h:40
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::PartonFlux::mp2_
const double mp2_
Definition
PartonFlux.h:39
cepgen::PartonFlux::x_range_
const Limits x_range_
Definition
PartonFlux.h:40
kmr::GluonGrid::get
static GluonGrid & get(const cepgen::ParametersList ¶ms={})
Retrieve the grid interpolator (singleton)
Definition
GluonGrid.cpp:27
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
cepgen::pdgid_t
unsigned long long pdgid_t
Alias for the integer-like particle PDG id.
Definition
ParticleProperties.h:26
cepgen::KMRGluonKTFlux
Definition
KMRGluonKTFlux.cpp:25
cepgen::KMRGluonKTFlux::fragmenting
bool fragmenting() const override
Is initiator particle fragmenting after parton emission?
Definition
KMRGluonKTFlux.cpp:38
cepgen::KMRGluonKTFlux::description
static ParametersDescription description()
Definition
KMRGluonKTFlux.cpp:27
cepgen::KMRGluonKTFlux::fluxMX2
double fluxMX2(double x, double kt2, double mx2) const override
Compute the kt-dependent flux for this x value and remnant mass.
Definition
KMRGluonKTFlux.cpp:32
cepgen::KMRGluonKTFlux::partonPdgId
pdgid_t partonPdgId() const override
Parton PDG identifier.
Definition
KMRGluonKTFlux.cpp:37
cepgen::KMRGluonKTFlux::mass2
double mass2() const override
Initiator particle squared mass (in )
Definition
KMRGluonKTFlux.cpp:39
CepGen
KTFluxes
KMRGluonKTFlux.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7