cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
DocumentationGenerator.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 "
CepGen/Modules/DocumentationGeneratorFactory.h
"
20
#include "
CepGen/Utils/DocumentationGenerator.h
"
21
#include "
CepGenAddOns/PythonWrapper/ConfigWriter.h
"
22
23
namespace
cepgen
{
24
namespace
python
{
28
class
DocumentationGenerator
final :
public
cepgen::utils::DocumentationGenerator
{
29
public
:
30
explicit
DocumentationGenerator
(
const
ParametersList
& params)
31
:
cepgen
::utils::
DocumentationGenerator
(params), writer_(
params_
) {}
32
33
static
ParametersDescription
description
() {
34
auto
desc =
cepgen::utils::DocumentationGenerator::description
();
35
desc.setDescription(
"Python modules documentation generator"
);
36
desc +=
ConfigWriter::description
();
37
desc.add<std::string>(
"filename"
,
"output.py"
).setDescription(
"Python output filename"
);
38
desc.add<
bool
>(
"camelCaseModuleNames"
,
true
);
39
return
desc;
40
}
41
42
std::string
describe
()
override
{
43
for
(
const
auto
& cat :
categories_
) {
44
if
(cat.second.modules.empty())
45
continue
;
46
for
(
const
auto
& mod : cat.second.modules)
47
writer_ << mod.second;
48
}
49
return
writer_();
50
}
51
52
private
:
53
ConfigWriter
writer_;
54
};
55
}
// namespace python
56
}
// namespace cepgen
57
using
cepgen::python::DocumentationGenerator
;
58
REGISTER_DOCUMENTATION_GENERATOR
(
"python"
,
DocumentationGenerator
);
ConfigWriter.h
DocumentationGeneratorFactory.h
REGISTER_DOCUMENTATION_GENERATOR
#define REGISTER_DOCUMENTATION_GENERATOR(name, obj)
Add a documentation generator to the list of handled modules.
Definition
DocumentationGeneratorFactory.h:25
DocumentationGenerator.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::python::ConfigWriter
Toolbox to dump user-steered configuration into Python scripts.
Definition
ConfigWriter.h:29
cepgen::python::ConfigWriter::description
static ParametersDescription description()
Definition
ConfigWriter.cpp:180
cepgen::python::DocumentationGenerator
Python modules documentation generator.
Definition
DocumentationGenerator.cpp:28
cepgen::python::DocumentationGenerator::DocumentationGenerator
DocumentationGenerator(const ParametersList ¶ms)
Definition
DocumentationGenerator.cpp:30
cepgen::python::DocumentationGenerator::describe
std::string describe() override
Definition
DocumentationGenerator.cpp:42
cepgen::python::DocumentationGenerator::description
static ParametersDescription description()
Definition
DocumentationGenerator.cpp:33
cepgen::utils::DocumentationGenerator
Documentation generator object.
Definition
DocumentationGenerator.h:29
cepgen::utils::DocumentationGenerator::description
static ParametersDescription description()
Definition
DocumentationGenerator.cpp:90
cepgen::utils::DocumentationGenerator::categories_
std::vector< std::pair< std::string, category_t > > categories_
Definition
DocumentationGenerator.h:44
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
python
Definition
__init__.py:1
CepGenAddOns
PythonWrapper
DocumentationGenerator.cpp
Generated on Mon Jul 29 2024 for CepGen by
1.9.7