cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
N/A
Central exclusive processes event generator
Toggle main menu visibility
Main Page
Related Pages
Packages
Package List
Package Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
x
y
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
x
y
Variables
Typedefs
Enumerations
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
Enumerator
b
c
d
e
g
h
i
l
m
n
p
r
t
u
w
x
y
z
Related Symbols
d
g
h
o
u
v
Files
File List
File Members
All
_
a
b
c
d
e
h
o
p
r
s
Functions
Variables
Macros
_
b
c
d
e
p
r
s
▼
CepGen
Reference manual
Bibliography
►
Packages
►
Classes
▼
Files
▼
File List
▼
include
▼
CepGen
►
Cards
▼
Core
►
Exception.h
►
GeneratorWorker.h
►
ParametersDescription.h
►
ParametersList.h
►
RunParameters.h
►
Steerable.h
►
SteeredObject.h
►
Event
►
EventFilter
►
FormFactors
►
Integration
►
Modules
►
PartonFluxes
►
Physics
►
Process
►
StructureFunctions
►
Utils
►
Generator.h
►
Version.h
►
CepGenBoost
►
CepGenHepMC2
►
CepGenHepMC3
►
CepGenHerwig6
►
CepGenMadGraph
►
CepGenPythia6
►
CepGenPythia8
►
CepGenPython
►
CepGenRoot
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
Steerable.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2021-2025 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
#ifndef CepGen_Core_Steerable_h
20
#define CepGen_Core_Steerable_h
21
22
#include "
CepGen/Core/ParametersDescription.h
"
23
24
namespace
cepgen
{
26
class
Steerable
{
27
public
:
28
explicit
Steerable
(
const
ParametersList
&);
29
virtual
~Steerable
() =
default
;
30
31
static
ParametersDescription
description
();
32
33
inline
virtual
const
ParametersList
&
parameters
()
const
{
return
params_
; }
34
virtual
void
setParameters
(
const
ParametersList
&);
35
36
protected
:
38
template
<
typename
T>
39
T
steer
(
const
std::string& key)
const
{
40
return
params_
.
get
<T>(key);
41
}
39
T
steer
(
const
std::string& key)
const
{
…
}
43
template
<
typename
T,
typename
U>
44
U
steerAs
(
const
std::string& key)
const
{
45
return
params_
.
getAs
<T,
U
>(key);
46
}
44
U
steerAs
(
const
std::string& key)
const
{
…
}
48
inline
std::string
steerName
()
const
{
return
steer<std::string>(
MODULE_NAME
); }
49
std::string
steerPath
(
const
std::string& key)
const
;
50
mutable
ParametersList
params_
;
51
};
52
}
// namespace cepgen
53
54
#endif
34
virtual
void
setParameters
(
const
ParametersList
&); {
…
}
26
class
Steerable
{
…
};
ParametersDescription.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::ParametersList::getAs
U getAs(const std::string &key, const U &def=default_arg< U >::get()) const
Get a recast parameter value.
Definition
ParametersList.h:107
cepgen::ParametersList::get
T get(const std::string &key, const T &def=default_arg< T >::get()) const
Get a parameter value.
cepgen::Steerable
Base runtime module object.
Definition
Steerable.h:26
cepgen::Steerable::steerName
std::string steerName() const
Retrieve module name from parameters.
Definition
Steerable.h:48
cepgen::Steerable::setParameters
virtual void setParameters(const ParametersList &)
Set module parameters.
cepgen::Steerable::parameters
virtual const ParametersList & parameters() const
Module parameters.
Definition
Steerable.h:33
cepgen::Steerable::steerAs
U steerAs(const std::string &key) const
Retrieve a recast parameters as previously steered.
Definition
Steerable.h:44
cepgen::Steerable::params_
ParametersList params_
Module parameters.
Definition
Steerable.h:50
cepgen::Steerable::description
static ParametersDescription description()
Description of all object parameters.
cepgen::Steerable::~Steerable
virtual ~Steerable()=default
cepgen::Steerable::steerPath
std::string steerPath(const std::string &key) const
Retrieve a path from common search paths.
cepgen::Steerable::Steerable
Steerable(const ParametersList &)
Build a module from its steering parameters.
cepgen::Steerable::steer
T steer(const std::string &key) const
Retrieve a parameters as previously steered.
Definition
Steerable.h:39
cepgen
Common namespace for this Monte Carlo generator.
Definition
Handler.h:26
cepgen::Element::U
@ U
uranium
cepgen::MODULE_NAME
const auto MODULE_NAME
Indexing key for the module name Parameters container.
Definition
ParametersList.h:50
include
CepGen
Core
Steerable.h
Generated on Tue Apr 22 2025 for CepGen by
1.10.0