cepgen is hosted by Hepforge, IPPP Durham
CepGen N/A
Central exclusive processes event generator
BoostTreeUtils.h
Go to the documentation of this file.
1/*
2 * CepGen: a central exclusive processes event generator
3 * Copyright (C) 2020-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 CepGenBoost_BoostTreeUtils_h
20#define CepGenBoost_BoostTreeUtils_h
21
22#include <boost/property_tree/ptree.hpp>
23
24namespace cepgen {
25 class Limits;
26 class RunParameters;
27 class ParametersDescription;
28 class ParametersList;
29} // namespace cepgen
30
31namespace boost::cepgen {
32 namespace pt = property_tree;
33
34 static constexpr const char* DAUGHTER_KEY = "DAUGHTER";
35 static constexpr const char* MIN_KEY = "min";
36 static constexpr const char* MAX_KEY = "max";
37
38 void add(::cepgen::ParametersList&, const std::string&, const pt::ptree&);
39
40 pt::ptree pack(const ::cepgen::RunParameters&);
41 pt::ptree pack(const ::cepgen::ParametersDescription&);
42 pt::ptree pack(const ::cepgen::ParametersList&);
43 template <typename T>
44 pt::ptree pack(const std::vector<T>&);
45 template <>
46 pt::ptree pack(const std::vector<::cepgen::ParametersList>&);
47 template <>
48 pt::ptree pack(const std::vector<double>&);
49 pt::ptree pack(const ::cepgen::Limits&);
50
52} // namespace boost::cepgen
53
54#endif
::cepgen::ParametersList unpack(const pt::ptree &)
static constexpr const char * MIN_KEY
static constexpr const char * MAX_KEY
void add(::cepgen::ParametersList &, const std::string &, const pt::ptree &)
pt::ptree pack(const ::cepgen::RunParameters &)
static constexpr const char * DAUGHTER_KEY
Common namespace for this Monte Carlo generator.
Definition Handler.h:26