cepgen
is hosted by
Hepforge
,
IPPP Durham
CepGen
1.2.5
Central exclusive processes event generator
Loading...
Searching...
No Matches
MadGraphProcess.h
Go to the documentation of this file.
1
/*
2
* CepGen: a central exclusive processes event generator
3
* Copyright (C) 2020-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
#ifndef CepGenAddOns_MadGraphWrapper_MadGraphProcess_h
20
#define CepGenAddOns_MadGraphWrapper_MadGraphProcess_h
21
22
#include "
CepGen/Modules/NamedModule.h
"
23
#include "
CepGen/Physics/Momentum.h
"
24
#include "
CepGen/Physics/ParticleProperties.h
"
25
26
namespace
cepgen
{
28
class
MadGraphProcess
:
public
NamedModule
<MadGraphProcess> {
29
public
:
30
explicit
MadGraphProcess
(
const
ParametersList
&);
31
virtual
~MadGraphProcess
() =
default
;
32
33
static
ParametersDescription
description
();
34
35
inline
const
std::vector<int>&
intermediatePartons
()
const
{
return
incoming_pdgids_
; }
36
inline
const
std::vector<int>&
centralSystem
()
const
{
return
central_pdgids_
; }
37
38
virtual
void
initialise
(
const
std::string&) = 0;
39
virtual
double
eval
() = 0;
40
virtual
const
std::vector<Momentum>&
momenta
() = 0;
41
42
MadGraphProcess
&
setMomentum
(
size_t
i,
const
Momentum
& mom);
43
44
protected
:
45
const
std::vector<int>
incoming_pdgids_
,
central_pdgids_
;
46
std::vector<double*>
mom_
;
47
};
48
}
// namespace cepgen
49
50
#endif
Momentum.h
NamedModule.h
ParticleProperties.h
cepgen::MadGraphProcess
Wrapper around a generic MadGraph process definition.
Definition
MadGraphProcess.h:28
cepgen::MadGraphProcess::~MadGraphProcess
virtual ~MadGraphProcess()=default
cepgen::MadGraphProcess::setMomentum
MadGraphProcess & setMomentum(size_t i, const Momentum &mom)
Definition
MadGraphProcess.cpp:29
cepgen::MadGraphProcess::mom_
std::vector< double * > mom_
Definition
MadGraphProcess.h:46
cepgen::MadGraphProcess::momenta
virtual const std::vector< Momentum > & momenta()=0
cepgen::MadGraphProcess::initialise
virtual void initialise(const std::string &)=0
cepgen::MadGraphProcess::incoming_pdgids_
const std::vector< int > incoming_pdgids_
Definition
MadGraphProcess.h:45
cepgen::MadGraphProcess::description
static ParametersDescription description()
Definition
MadGraphProcess.cpp:39
cepgen::MadGraphProcess::central_pdgids_
const std::vector< int > central_pdgids_
Definition
MadGraphProcess.h:45
cepgen::MadGraphProcess::eval
virtual double eval()=0
cepgen::MadGraphProcess::centralSystem
const std::vector< int > & centralSystem() const
Definition
MadGraphProcess.h:36
cepgen::MadGraphProcess::intermediatePartons
const std::vector< int > & intermediatePartons() const
Definition
MadGraphProcess.h:35
cepgen::Momentum
Container for a particle's 4-momentum, along with useful methods to ease the development of any matri...
Definition
Momentum.h:33
cepgen::NamedModule
Base runtime module object.
Definition
NamedModule.h:28
cepgen::ParametersDescription
A description object for parameters collection.
Definition
ParametersDescription.h:26
cepgen::ParametersList
Definition
ParametersList.h:52
cepgen
Common namespace for this Monte Carlo generator.
Definition
CommandLineHandler.cpp:36
CepGenAddOns
MadGraphWrapper
MadGraphProcess.h
Generated on Mon Jul 29 2024 for CepGen by
1.9.7