herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ShowerConfig.h
1// -*- C++ -*-
2//
3// ShowerConfig.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_ShowerConfig_H
10#define HERWIG_ShowerConfig_H
11//
12// This is the declaration of the ShowerConfig class.
13
15#include "ThePEG/PDT/ParticleData.h"
16#include "Herwig/Shower/QTilde/Base/ShowerParticle.fh"
17#include "Herwig/Shower/QTilde/SplittingFunctions/SudakovFormFactor.fh"
18#include "ThePEG/Persistency/PersistentOStream.h"
19#include "ThePEG/Persistency/PersistentIStream.h"
20#include "Herwig/Shower/ShowerInteraction.h"
21
22namespace Herwig {
23using namespace ThePEG;
24
34 typedef Ptr<ThePEG::ColourLine>::pointer ColinePtr;
35
39 typedef Ptr<ThePEG::ColourLine>::transient_pointer tColinePtr;
40
44 typedef pair<ColinePtr,ColinePtr> ColinePair;
45
49 typedef pair<tColinePtr,tColinePtr> tColinePair;
50
54 typedef vector<ShowerParticlePtr> ShowerParticleVector;
55
59 typedef vector<tShowerParticlePtr> tShowerParticleVector;
60
64 typedef vector<tcPDPtr> IdList;
65
66 inline ShowerInteraction convertInteraction(ShowerPartnerType partner) {
67 if (partner==ShowerPartnerType::QCDColourLine ||
68 partner==ShowerPartnerType::QCDAntiColourLine)
69 return ShowerInteraction::QCD;
70 else if (partner==ShowerPartnerType::QED)
71 return ShowerInteraction::QED;
72 else if(partner==ShowerPartnerType::EW)
73 return ShowerInteraction::EW;
74 else
75 return ShowerInteraction::UNDEFINED;
76 }
77
82
87
91 BranchingElement(SudakovPtr sud, IdList part);
92
97
101 SudakovPtr sudakov;
102
107
112
116 bool operator == (const BranchingElement& x) const{
117 return
118 sudakov == x.sudakov &&
119 particles == x.particles &&
121 }
122 };
123
127 typedef multimap<long,BranchingElement> BranchingList;
128
132 typedef pair<long, BranchingElement> BranchingInsert;
133
134}
135
136namespace ThePEG {
137
142 const Herwig::BranchingElement & x);
143
149
150}
151
152#endif // HERWIG_ShowerConfig_H
153
ShowerInteraction
Handy header file to be included in all Shower classes.
-*- C++ -*-
ShowerPartnerType
Enum for the type of shower partner.
vector< tcPDPtr > IdList
Definition of the IdList for branchings.
Definition: ShowerConfig.h:64
vector< ShowerParticlePtr > ShowerParticleVector
A Vector of ShowerParticle pointers.
Definition: ShowerConfig.h:54
vector< tShowerParticlePtr > tShowerParticleVector
A Vector of transient ShowerParticle pointers.
Definition: ShowerConfig.h:59
pair< long, BranchingElement > BranchingInsert
typedef to create a structure which can be inserted into a BranchingList
Definition: ShowerConfig.h:132
pair< ColinePtr, ColinePtr > ColinePair
A pair of ColourLine pointers.
Definition: ShowerConfig.h:44
multimap< long, BranchingElement > BranchingList
typedef to pair the PDG code of the particle and the BranchingElement
Definition: ShowerConfig.h:127
PersistentIStream & operator>>(PersistentIStream &is, HandlerGroup< HDLR > &hg)
ThePEG::Ptr< ColourLine >::pointer ColinePtr
pair< tColinePtr, tColinePtr > tColinePair
ostream & operator<<(ostream &, const Collision &)
ThePEG::Ptr< ColourLine >::transient_pointer tColinePtr
typedef to pair the SudakovFormFactor and the particles in a branching
Definition: ShowerConfig.h:81
BranchingElement(SudakovPtr sud, IdList part)
Constructor.
SudakovPtr sudakov
Access to the Sudakov.
Definition: ShowerConfig.h:101
~BranchingElement()
Destructor.
BranchingElement()
Constructor.
IdList particles
Access to the particles.
Definition: ShowerConfig.h:106
bool operator==(const BranchingElement &x) const
Compare two BranchingElements.
Definition: ShowerConfig.h:116
IdList conjugateParticles
Access to the charge conjugate particles.
Definition: ShowerConfig.h:111