herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
Utility
ProcessData.h
1
// -*- C++ -*-
2
//
3
// ProcessData.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef Herwig_ProcessData_H
10
#define Herwig_ProcessData_H
11
//
12
// This is the declaration of the ProcessData class.
13
//
14
15
#include "ThePEG/Handlers/HandlerBase.h"
16
#include "ThePEG/MatrixElement/Tree2toNDiagram.h"
17
#include "ThePEG/Handlers/StandardXComb.h"
18
#include "Herwig/PDT/GenericMassGenerator.h"
19
#include "Herwig/MatrixElement/Matchbox/Utility/ProcessData.fh"
20
21
namespace
Herwig
{
22
23
using namespace
ThePEG
;
24
34
class
ProcessData
:
public
HandlerBase
{
35
36
public
:
37
43
ProcessData
();
44
48
virtual
~ProcessData
();
50
51
public
:
52
56
map<PDVector,vector<Ptr<Tree2toNDiagram>::ptr> >&
diagramMap
() {
return
theDiagramMap
; }
57
61
const
map<PDVector,vector<Ptr<Tree2toNDiagram>::ptr> >&
diagramMap
()
const
{
return
theDiagramMap
; }
62
66
map<Ptr<Tree2toNDiagram>::tcptr,vector<ColourLines*> >&
colourFlowMap
() {
return
theColourFlowMap
; }
67
71
const
map<Ptr<Tree2toNDiagram>::tcptr,vector<ColourLines*> >&
colourFlowMap
()
const
{
return
theColourFlowMap
; }
72
76
map<cPDPtr,tGenericMassGeneratorPtr>&
massGenerators
() {
return
theMassGenerators
; }
77
81
const
map<cPDPtr,tGenericMassGeneratorPtr>&
massGenerators
()
const
{
return
theMassGenerators
; }
82
86
tGenericMassGeneratorPtr
massGenerator
(
cPDPtr
);
87
91
void
fillMassGenerators
(
const
PDVector
&);
92
93
public
:
94
101
void
persistentOutput
(
PersistentOStream
& os)
const
;
102
108
void
persistentInput
(
PersistentIStream
& is,
int
version);
110
117
static
void
Init
();
118
119
protected
:
120
127
virtual
IBPtr
clone
()
const
;
128
133
virtual
IBPtr
fullclone
()
const
;
135
136
137
// If needed, insert declarations of virtual function defined in the
138
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
139
140
private
:
141
145
map<PDVector,vector<Ptr<Tree2toNDiagram>::ptr> >
theDiagramMap
;
146
150
map<Ptr<Tree2toNDiagram>::tcptr,vector<ColourLines*> >
theColourFlowMap
;
151
155
map<cPDPtr,tGenericMassGeneratorPtr>
theMassGenerators
;
156
157
private
:
158
163
ProcessData
&
operator=
(
const
ProcessData
&) =
delete
;
164
165
};
166
167
}
168
169
#endif
/* Herwig_ProcessData_H */
Herwig::ProcessData
Provide storage for process data.
Definition:
ProcessData.h:34
Herwig::ProcessData::diagramMap
map< PDVector, vector< Ptr< Tree2toNDiagram >::ptr > > & diagramMap()
Access diagrams contributing to a given subprocess.
Definition:
ProcessData.h:56
Herwig::ProcessData::ProcessData
ProcessData()
The default constructor.
Herwig::ProcessData::massGenerator
tGenericMassGeneratorPtr massGenerator(cPDPtr)
Return the mass generator (or NULL)
Herwig::ProcessData::diagramMap
const map< PDVector, vector< Ptr< Tree2toNDiagram >::ptr > > & diagramMap() const
Return diagrams contributing to a given subprocess.
Definition:
ProcessData.h:61
Herwig::ProcessData::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::ProcessData::theDiagramMap
map< PDVector, vector< Ptr< Tree2toNDiagram >::ptr > > theDiagramMap
The diagrams contributing to a subprocess.
Definition:
ProcessData.h:145
Herwig::ProcessData::theColourFlowMap
map< Ptr< Tree2toNDiagram >::tcptr, vector< ColourLines * > > theColourFlowMap
Colour flows contributing to a given diagram.
Definition:
ProcessData.h:150
Herwig::ProcessData::colourFlowMap
const map< Ptr< Tree2toNDiagram >::tcptr, vector< ColourLines * > > & colourFlowMap() const
Return colour flows contributing to a given diagram.
Definition:
ProcessData.h:71
Herwig::ProcessData::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::ProcessData::colourFlowMap
map< Ptr< Tree2toNDiagram >::tcptr, vector< ColourLines * > > & colourFlowMap()
Access colour flows contributing to a given diagram.
Definition:
ProcessData.h:66
Herwig::ProcessData::massGenerators
map< cPDPtr, tGenericMassGeneratorPtr > & massGenerators()
Access the mass generators to be used for the given particles.
Definition:
ProcessData.h:76
Herwig::ProcessData::operator=
ProcessData & operator=(const ProcessData &)=delete
The assignment operator is private and must never be called.
Herwig::ProcessData::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::ProcessData::~ProcessData
virtual ~ProcessData()
The destructor.
Herwig::ProcessData::fillMassGenerators
void fillMassGenerators(const PDVector &)
Fill the mass generators for the given process.
Herwig::ProcessData::theMassGenerators
map< cPDPtr, tGenericMassGeneratorPtr > theMassGenerators
The mass generators to be used for the given particles.
Definition:
ProcessData.h:155
Herwig::ProcessData::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::ProcessData::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::ProcessData::massGenerators
const map< cPDPtr, tGenericMassGeneratorPtr > & massGenerators() const
Return the mass generators to be used for the given particles.
Definition:
ProcessData.h:81
ThePEG::HandlerBase
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::PDVector
vector< PDPtr > PDVector
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::cPDPtr
ThePEG::Ptr< ParticleData >::const_pointer cPDPtr
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6