cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
MadGraphInterface.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2020-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
19
#ifndef CepGenAddOns_MadGraphWrapper_MadGraphInterface_h
20
#define CepGenAddOns_MadGraphWrapper_MadGraphInterface_h
21
22
#include "
CepGen/Core/SteeredObject.h
"
23
#include "
CepGen/Utils/Filesystem.h
"
24
25
namespace
cepgen
{
26
class
MadGraphInterface
:
public
SteeredObject
<MadGraphInterface> {
27
public
:
28
explicit
MadGraphInterface
(
const
ParametersList
&);
29
30
static
ParametersDescription
description
();
31
32
std::string
run
()
const
;
33
35
static
ParametersDescription
extractParamCardParameters
(
const
std::string&);
37
static
std::string
generateParamCard
(
const
ParametersDescription
&);
38
39
private
:
40
static
constexpr
size_t
cmd_buffer_size_ = 256;
41
static
std::unordered_map<std::string, spdgid_t> mg5_parts_;
42
43
void
generateLibrary(
const
fs::path&,
const
fs::path&,
const
fs::path&)
const
;
44
void
parseExtraParticles();
45
void
linkCards()
const
;
46
std::string prepareMadGraphProcess()
const
;
47
48
const
std::string proc_;
49
const
std::string model_;
50
const
fs::path tmp_dir_;
51
const
fs::path card_path_;
52
const
fs::path log_filename_;
53
const
fs::path standalone_cpp_path_;
54
const
ParametersList
extra_particles_, model_parameters_;
55
56
std::string extra_part_definitions_;
57
};
58
}
// namespace cepgen
59
60
#endif
Filesystem.h
SteeredObject.h
cepgen::MadGraphInterface
Definition
MadGraphInterface.h:26
cepgen::MadGraphInterface::extractParamCardParameters
static ParametersDescription extractParamCardParameters(const std::string &)
Retrieve a CepGen-compatible parameters list from a MadGraph parameters card.
Definition
MadGraphInterface.cpp:247
cepgen::MadGraphInterface::run
std::string run() const
Definition
MadGraphInterface.cpp:99
cepgen::MadGraphInterface::description
static ParametersDescription description()
Definition
MadGraphInterface.cpp:303
cepgen::MadGraphInterface::generateParamCard
static std::string generateParamCard(const ParametersDescription &)
Generate a MadGraph parameters card from CepGen user-steered parameters.
Definition
MadGraphInterface.cpp:285
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen::SteeredObject
Base user-steerable object.
Definition
SteeredObject.h:41
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGenAddOns
MadGraphWrapper
MadGraphInterface.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7