cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
Steerable.cpp
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2022-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 "
CepGen/Core/Steerable.h
"
20
#include "
CepGen/Utils/Environment.h
"
21
#include "
CepGen/Utils/Filesystem.h
"
22
#include "
CepGen/Utils/Message.h
"
23
#include "
CepGen/Utils/String.h
"
24
25
namespace
cepgen
{
26
Steerable::Steerable
(
const
ParametersList
& params) {
setParameters
(params); }
27
28
void
Steerable::setParameters
(
const
ParametersList
& params) {
params_
+= params; }
29
30
std::string
Steerable::steerPath
(
const
std::string& key)
const
{
31
const
auto
fn = steer<std::string>(key);
32
if
(fn.empty())
33
return
fn;
34
for
(
const
auto
& path :
utils::env::searchPaths
())
35
if
(
const
auto
abs_path = fs::path(path) / fn;
utils::fileExists
(abs_path)) {
36
CG_DEBUG
(
"Steerable:steerPath"
) <<
"Found path for '"
<< key <<
"' at '"
<< abs_path <<
"'."
;
37
return
abs_path;
38
}
39
return
fn;
40
}
41
42
ParametersDescription
Steerable::description
() {
43
auto
desc =
ParametersDescription
(
"Steerable"
);
44
desc.setDescription(
"Pure virtual base steerable object"
);
45
return
desc;
46
}
47
}
// namespace cepgen
Filesystem.h
Message.h
CG_DEBUG
#define CG_DEBUG(mod)
Definition
Message.h:220
Steerable.h
String.h
Environment.h
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::Steerable::params_
ParametersList params_
Module parameters.
Definition
Steerable.h:50
cepgen::Steerable::description
static ParametersDescription description()
Description of all object parameters.
Definition
Steerable.cpp:42
cepgen::Steerable::steerPath
std::string steerPath(const std::string &key) const
Retrieve a path from common search paths.
Definition
Steerable.cpp:30
cepgen::Steerable::Steerable
Steerable(const ParametersList &)
Build a module from its steering parameters.
Definition
Steerable.cpp:26
cepgen::Steerable::setParameters
virtual void setParameters(const ParametersList &)
Set module parameters.
Definition
Steerable.cpp:28
cepgen::utils::env::searchPaths
std::vector< std::string > searchPaths()
Retrieve a list of all search paths for external files.
Definition
Environment.cpp:34
cepgen::utils::fileExists
bool fileExists(const std::string &path)
Check if the file exists.
Definition
Filesystem.cpp:27
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGen
Core
Steerable.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7