cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
DonnachieLandshoff.cpp
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2023-2024 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 <cmath>
20
21
#include "
CepGen/Modules/StructureFunctionsFactory.h
"
22
#include "
CepGen/StructureFunctions/Parameterisation.h
"
23
24
namespace
cepgen
{
25
namespace
strfun {
28
class
DonnachieLandshoff
final :
public
Parameterisation
{
29
public
:
30
explicit
DonnachieLandshoff
(
const
ParametersList
& params)
31
:
Parameterisation
(params),
32
pA_(
steer
<double>(
"A"
)),
33
pB_(
steer
<double>(
"B"
)),
34
pa_(
steer
<double>(
"a"
)),
35
pb_(
steer
<double>(
"b"
)),
36
epsilon_(
steer
<double>(
"epsilon"
)),
37
delta_r_(
steer
<double>(
"deltaR"
)) {}
38
39
static
ParametersDescription
description
() {
40
auto
desc =
Parameterisation::description
();
41
desc.setDescription(
"Donnachie-Landshoff"
);
42
desc.add<
double
>(
"A"
, 0.324);
43
desc.add<
double
>(
"B"
, 0.098);
44
desc.add<
double
>(
"a"
, 0.561991692786383);
45
desc.add<
double
>(
"b"
, 0.011133);
46
desc.add<
double
>(
"epsilon"
, 0.0808);
47
desc.add<
double
>(
"deltaR"
, 0.5475);
48
return
desc;
49
}
50
51
void
eval
()
override
{
52
setF2
(pA_ * std::pow(
args_
.
xbj
, -epsilon_) * std::pow(
args_
.
q2
/ (
args_
.
q2
+ pa_), 1 + epsilon_) +
53
pB_ * std::pow(
args_
.
xbj
, 1. - delta_r_) * std::pow(
args_
.
q2
/ (
args_
.
q2
+ pb_), delta_r_));
54
}
55
56
private
:
57
const
double
pA_, pB_, pa_, pb_, epsilon_, delta_r_;
58
};
59
}
// namespace strfun
60
}
// namespace cepgen
61
using
cepgen::strfun::DonnachieLandshoff
;
62
REGISTER_STRFUN
(
"DonnachieLandshoff"
, 105,
DonnachieLandshoff
);
StructureFunctionsFactory.h
REGISTER_STRFUN
#define REGISTER_STRFUN(name, id, obj)
Add a structure functions definition to the list of handled parameterisation.
Definition
StructureFunctionsFactory.h:25
Parameterisation.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::Steerable::steer
T steer(const std::string &key) const
Retrieve a parameters as previously steered.
Definition
Steerable.h:39
cepgen::strfun::DonnachieLandshoff
F2 parameterisation for Q^2 < 10 GeV^2 .
Definition
DonnachieLandshoff.cpp:28
cepgen::strfun::DonnachieLandshoff::description
static ParametersDescription description()
Definition
DonnachieLandshoff.cpp:39
cepgen::strfun::DonnachieLandshoff::eval
void eval() override
Local structure functions evaluation method.
Definition
DonnachieLandshoff.cpp:51
cepgen::strfun::DonnachieLandshoff::DonnachieLandshoff
DonnachieLandshoff(const ParametersList ¶ms)
Definition
DonnachieLandshoff.cpp:30
cepgen::strfun::Parameterisation
Base object for the parameterisation of nucleon structure functions.
Definition
Parameterisation.h:30
cepgen::strfun::Parameterisation::args_
Arguments args_
Last couple computed.
Definition
Parameterisation.h:109
cepgen::strfun::Parameterisation::setF2
Parameterisation & setF2(double f2)
Definition
Parameterisation.cpp:83
cepgen::strfun::Parameterisation::description
static ParametersDescription description()
Generic description for the structure functions.
Definition
Parameterisation.cpp:148
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
cepgen::strfun::Parameterisation::Arguments::xbj
double xbj
Definition
Parameterisation.h:60
cepgen::strfun::Parameterisation::Arguments::q2
double q2
Definition
Parameterisation.h:60
CepGen
StructureFunctions
DonnachieLandshoff.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7