cepgen is hosted by Hepforge, IPPP Durham
CepGen 1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
PointLike.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
21
22namespace cepgen {
23 namespace formfac {
24 class PointLike : public Parameterisation {
25 public:
26 explicit PointLike(const ParametersList& params, double fe, double fm)
27 : Parameterisation(params), fe_(fe), fm_(fm) {}
28
29 private:
30 void eval() override { setFEFM(fe_, fm_); }
31 const double fe_, fm_;
32 };
33
34 struct PointLikeScalar final : public PointLike {
35 explicit PointLikeScalar(const ParametersList& params) : PointLike(params, 1., 0.) {}
38 desc.setDescription("Point-like scalar");
39 return desc;
40 }
41 };
42
43 struct PointLikeFermion final : public PointLike {
44 explicit PointLikeFermion(const ParametersList& params) : PointLike(params, 1., 1.) {}
47 desc.setDescription("Point-like fermion");
48 return desc;
49 }
50 };
51 } // namespace formfac
52} // namespace cepgen
#define REGISTER_FORMFACTORS(name, obj)
Add a form factors definition to the list of handled parameterisation.
A description object for parameters collection.
Nucleon electromagnetic form factors parameterisation.
void setFEFM(double fe, double fm)
Set the electromagnetic form factors.
static ParametersDescription description()
PointLike(const ParametersList &params, double fe, double fm)
Definition PointLike.cpp:26
Common namespace for this Monte Carlo generator.
static ParametersDescription description()
Definition PointLike.cpp:45
PointLikeFermion(const ParametersList &params)
Definition PointLike.cpp:44
PointLikeScalar(const ParametersList &params)
Definition PointLike.cpp:35
static ParametersDescription description()
Definition PointLike.cpp:36