cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
AlphaS.cpp
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 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 <Pythia8/Pythia.h>
20#include <Pythia8/StandardModel.h>
21
25
26namespace cepgen {
27 namespace pythia8 {
28 class AlphaS final : public Coupling {
29 public:
30 explicit AlphaS(const ParametersList& params) : Coupling(params), alphas_(new Pythia8::AlphaStrong) {
31 alphas_->init(
32 steer<double>("alphaSvalue"), steer<int>("alphaSorder"), steer<int>("alphaSnfmax"), steer<bool>("useCMW"));
33 }
34
37 desc.setDescription("Pythia8 modelling of alpha(S) running");
38 desc.add<double>("alphaSvalue", 0.13);
39 desc.add<int>("alphaSorder", 1);
40 desc.add<int>("alphaSnfmax", 6);
41 desc.add<bool>("useCMW", false);
42 return desc;
43 }
44
45 inline double operator()(double q) const override { return alphas_->alphaS(q * q); }
46
47 private:
48 const std::unique_ptr<Pythia8::AlphaStrong> alphas_;
49 };
50 } // namespace pythia8
51} // namespace cepgen
#define REGISTER_ALPHAS_MODULE(name, obj)
Add a strong coupling evolution algorithm.
A generic evaluation algorithm.
Definition Coupling.h:26
A description object for parameters collection.
static ParametersDescription description()
Description of all object parameters.
Definition Steerable.cpp:42
double operator()(double q) const override
Compute for a given .
Definition AlphaS.cpp:45
AlphaS(const ParametersList &params)
Definition AlphaS.cpp:30
static ParametersDescription description()
Definition AlphaS.cpp:35
Common namespace for this Monte Carlo generator.