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
►
CepGenBoost
►
CepGenHepMC2
►
CepGenHepMC3
►
CepGenHerwig6
▼
CepGenMadGraph
►
Interface.h
►
Process.h
►
ProcessFactory.h
►
Utils.h
►
CepGenPythia6
►
CepGenPythia8
►
CepGenPython
►
CepGenRoot
►
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
Loading...
Searching...
No Matches
Interface.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 CepGenMadGraph_Interface_h
20
#define CepGenMadGraph_Interface_h
21
22
#include "
CepGen/Core/SteeredObject.h
"
23
#include "
CepGen/Physics/ParticleProperties.h
"
24
#include "
CepGen/Utils/Filesystem.h
"
25
26
namespace
cepgen::mg5amc
{
27
class
Interface
final :
public
SteeredObject
<Interface> {
28
public
:
29
explicit
Interface
(
const
ParametersList
&);
30
31
static
ParametersDescription
description
();
32
33
std::string
run
()
const
;
34
36
static
ParametersDescription
extractParamCardParameters
(
const
std::string&);
38
static
std::string
generateParamCard
(
const
ParametersDescription
&);
39
40
private
:
41
static
constexpr
size_t
cmd_buffer_size_ = 256;
42
static
std::unordered_map<std::string, spdgid_t> mg5_parts_;
43
44
static
void
generateLibrary(
const
fs::path&,
const
fs::path&,
const
fs::path&);
45
46
void
parseExtraParticles();
47
void
linkCards()
const
;
48
std::string prepareMadGraphProcess()
const
;
49
50
const
std::string proc_;
51
const
std::string model_;
52
const
fs::path tmp_dir_;
53
const
fs::path card_path_;
54
const
fs::path log_filename_;
55
const
fs::path standalone_cpp_path_;
56
const
ParametersList
extra_particles_, model_parameters_;
57
58
std::string extra_part_definitions_;
59
};
27
class
Interface
final :
public
SteeredObject
<Interface> {
…
};
60
}
// namespace cepgen::mg5amc
26
namespace
cepgen::mg5amc
{
…
}
61
62
#endif
Filesystem.h
ParticleProperties.h
SteeredObject.h
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::mg5amc::Interface
Definition
Interface.h:27
cepgen::mg5amc::Interface::generateParamCard
static std::string generateParamCard(const ParametersDescription &)
Generate a MadGraph parameters card from CepGen user-steered parameters.
cepgen::mg5amc::Interface::extractParamCardParameters
static ParametersDescription extractParamCardParameters(const std::string &)
Retrieve a CepGen-compatible parameters list from a MadGraph parameters card.
cepgen::mg5amc::Interface::description
static ParametersDescription description()
cepgen::mg5amc::Interface::Interface
Interface(const ParametersList &)
cepgen::mg5amc::Interface::run
std::string run() const
cepgen::mg5amc
Definition
Interface.h:26
include
CepGenMadGraph
Interface.h
Generated on Tue Apr 22 2025 for CepGen by
1.10.0