herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ShowerEventRecord.h
1// -*- C++ -*-
2#ifndef Herwig_ShowerEventRecord_H
3#define Herwig_ShowerEventRecord_H
4//
5// This is the declaration of the ShowerEventRecord class.
6//
7
9#include "ThePEG/Handlers/StandardXComb.h"
10#include "ThePEG/PDF/PDF.h"
11#include "Herwig/MatrixElement/Matchbox/Matching/ShowerApproximation.h"
12
13namespace Herwig {
14
15using namespace ThePEG;
16
20class ShowerEventRecord: public Base {
21
22public:
23
30
36
37public:
38
42 tSubProPtr subProcess() const { return subProcess_; }
43
47 tStdXCombPtr xcombPtr() const { return XComb_; }
48
52 void xcombPtr(tStdXCombPtr in) { XComb_ = in; }
53
57 const StandardXComb& xcomb() const { return *XComb_; }
58
59public:
60
65 PPair& incoming() { return incoming_; }
66
71 const PPair& incoming() const { return incoming_; }
72
77 PList& outgoing() { return outgoing_; }
78
83 const PList& outgoing() const { return outgoing_; }
84
90
95 const PList& intermediates() const { return intermediates_; }
96
100 const pair<double,double>& fractions() const { return fractions_; }
101
105 pair<double,double>& fractions() { return fractions_; }
106
110 const pair<PDF,PDF>& pdfs() const { return PDFs_; }
111
112public:
113
119 bool isMCatNLOSEvent() const { return isMCatNLOSEvent_; }
120
124 bool isMCatNLOHEvent() const { return isMCatNLOHEvent_; }
125
129 bool isPowhegSEvent() const { return isPowhegSEvent_; }
130
134 bool isPowhegHEvent() const { return isPowhegHEvent_; }
135
139 void isMCatNLOSEvent(bool in) { isMCatNLOSEvent_ = in; }
140
144 void isMCatNLOHEvent(bool in) { isMCatNLOHEvent_ = in; }
145
149 Ptr<ShowerApproximation>::tptr showerApproximation() {
151 }
152
156 bool truncatedShower() const { return truncatedShower_; }
157
161 void truncatedShower(bool in) { truncatedShower_=in; }
163
164public:
165
170 virtual void clear();
171
172protected:
173
178
182 pair<PDF,PDF>& pdfs() { return PDFs_; }
183
184public:
185
190
191protected:
192
196 map<ColinePtr,ColinePtr> & colourLines() {return colourLines_;}
197
202 void colourIsolate(const vector<PPtr> & original, const vector<PPtr> & copy);
203
208 void updateColour(PPtr particle, bool recursive);
209
213 void mapColour(PPtr original, PPtr copy);
214
215private:
216
220 void isolateLine(vector<PPair>::const_iterator cit,
221 vector<PPair> & particles,
222 tcColinePtr oldline,
223 tColinePtr newline);
224
225private:
226
232
233
234private:
235
240
244 StdXCombPtr XComb_;
245
251
256
262
266 pair<PDF,PDF> PDFs_;
267
271 pair<double,double> fractions_;
272
273private:
274
283
288
293
298
302 Ptr<ShowerApproximation>::tptr showerApproximation_;
303
307 map<ColinePtr,ColinePtr> colourLines_;
308
314
315};
316
317}
318
319#endif /* Herwig_ShowerEventRecord_H */
Here is the documentation of the ShowerEventRecord class.
const PPair & incoming() const
Return the incoming partons at the current stage of the evolution.
ShowerEventRecord & operator=(const ShowerEventRecord &)=delete
The assignment operator is private and must never be called.
PPair incoming_
The incoming partons at the current stage of the evolution.
bool isMCatNLOSEvent_
Type of event.
const PList & intermediates() const
Return the intermediate particles at the current stage of the evolution.
ShowerEventRecord()
The default constructor.
const StandardXComb & xcomb() const
Return the XComb describing the hard process.
bool isPowhegHEvent() const
True, if matchbox MC@NLO H-event.
tSubProPtr subProcess() const
Return the subprocess currently showered.
const PList & outgoing() const
Return the outgoing partons at the current stage of the evolution.
pair< PDF, PDF > & pdfs()
Return the PDFs.
bool truncatedShower() const
True if truncated shower required.
virtual ~ShowerEventRecord()
The destructor.
bool isMCatNLOSEvent() const
True, if Matchbox MC@NLO S-event.
bool isMCatNLOHEvent() const
True, if matchbox MC@NLO H-event.
PPair & incoming()
Return the incoming partons at the current stage of the evolution.
Ptr< ShowerApproximation >::tptr showerApproximation_
The shower approximation to provide the hard scale profile.
virtual void clear()
Clear the event record: Give up ownership on any object involved in the evolution.
map< ColinePtr, ColinePtr > & colourLines()
Map of colour lines used to reset colours when inserted into the event.
PList intermediates_
The intermediate particles at the current stage of the evolution.
PList & intermediates()
Return the intermediate particles at the current stage of the evolution.
bool isPowhegSEvent_
True, if Matchbox Powheg S-event.
void isolateLine(vector< PPair >::const_iterator cit, vector< PPair > &particles, tcColinePtr oldline, tColinePtr newline)
Isolate a specific colour line.
void identifyEventType()
Identify the type of event.
bool isPowhegHEvent_
True, if matchbox Powheg H-event.
bool isMCatNLOHEvent_
True, if matchbox MC@NLO H-event.
SubProPtr subProcess_
The subprocess currently showered.
void updateColour(PPtr particle, bool recursive)
Update the colour information of a particle prior to insertion into the event record.
tStdXCombPtr xcombPtr() const
Return the XComb describing the hard process.
void colourIsolate(const vector< PPtr > &original, const vector< PPtr > &copy)
Isolate the colour of the process from the rest of the event.
pair< double, double > & fractions()
Return the momentum fractions.
void xcombPtr(tStdXCombPtr in)
Set the XComb describing the hard process.
PList outgoing_
The outgoing partons at the current stage of the evolution.
pair< double, double > fractions_
Momentum fractions of the incoming partons.
const pair< PDF, PDF > & pdfs() const
Return the PDFs.
bool isPowhegSEvent() const
True, if Matchbox MC@NLO S-event.
void isMCatNLOSEvent(bool in)
True, if Matchbox MC@NLO S-event.
void isMCatNLOHEvent(bool in)
True, if matchbox MC@NLO H-event.
pair< PDF, PDF > PDFs_
The PDFs to be considered.
const pair< double, double > & fractions() const
Return the momentum fractions.
map< ColinePtr, ColinePtr > colourLines_
Map of colour lines used to reset colours when inserted into the event.
void mapColour(PPtr original, PPtr copy)
Map the colours for a given particle.
StdXCombPtr XComb_
Pointer to the XComb which generated the hard process.
void truncatedShower(bool in)
True if truncated shower required.
PList & outgoing()
Return the outgoing partons at the current stage of the evolution.
bool truncatedShower_
Whether or ont needs truncated shower.
void subProcess(tSubProPtr in)
Set the subprocess.
Ptr< ShowerApproximation >::tptr showerApproximation()
Access to the shower approximation.
-*- C++ -*-
pair< PPtr, PPtr > PPair
ThePEG::Ptr< SubProcess >::pointer SubProPtr
ThePEG::Ptr< ColourLine >::transient_const_pointer tcColinePtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
ThePEG::Ptr< Particle >::pointer PPtr
list< PPtr > PList
ThePEG::Ptr< ColourLine >::transient_pointer tColinePtr