herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
HardTree.h
1// -*- C++ -*-
2#ifndef HERWIG_HardTree_H
3#define HERWIG_HardTree_H
4//
5// This is the declaration of the HardTree class.
6//
7
9#include "Herwig/Shower/QTilde/Base/ShowerProgenitor.h"
10#include "Herwig/Shower/QTilde/Base/ShowerTree.h"
11#include "Herwig/Shower/QTilde/SplittingFunctions/SudakovFormFactor.h"
12#include "Herwig/Shower/RealEmissionProcess.fh"
13#include "HardBranching.h"
14#include "HardTree.fh"
15
16namespace Herwig {
17
18using namespace ThePEG;
23class HardTree : public Base {
24
28 friend ostream & operator << (ostream &, const HardTree & );
29
30public:
31
35 HardTree(vector<HardBranchingPtr>, vector<HardBranchingPtr>, ShowerInteraction);
36
40 HardTree(RealEmissionProcessPtr real);
41
45 bool connect(ShowerParticlePtr particle, HardBranchingPtr branching) {
46 if(branchings_.find(branching)==branchings_.end()) return false;
47 particles_[particle]=branching;
48 return true;
49 }
50
54 bool connect(ShowerTreePtr);
55
59 map<ShowerParticlePtr,tHardBranchingPtr> & particles()
60 {return particles_;}
61
65 set<HardBranchingPtr> & branchings() {return branchings_;}
66
70 set<HardBranchingPtr> & incoming() {return spacelike_;}
71
76
81
86
90 bool partnersSet() const {return partnersSet_;}
91
95 void partnersSet(bool in) {partnersSet_=in;}
96
97private:
98
103
107 ShowerTreePtr _tree;
108
112 map<ShowerParticlePtr,tHardBranchingPtr> particles_;
113
117 set<HardBranchingPtr> branchings_;
118
122 set<HardBranchingPtr> spacelike_;
123
128
133
134};
135
139 ostream & operator << (ostream &, const HardTree & );
140
141}
142
143#endif /* HERWIG_HardTree_H */
The HardTree class is designed to contain the information required to implement the POWHEG approach f...
Definition: HardTree.h:23
map< ShowerParticlePtr, tHardBranchingPtr > particles_
Map from the particles in the ShowerTree to the HardBranchings.
Definition: HardTree.h:112
void showerRot(LorentzRotation r)
Set the Rotation to be applied to the tree.
Definition: HardTree.h:85
bool connect(ShowerParticlePtr particle, HardBranchingPtr branching)
Match particles in the ShowerTree to branchings in the HardTree.
Definition: HardTree.h:45
friend ostream & operator<<(ostream &, const HardTree &)
Output operator for testing.
map< ShowerParticlePtr, tHardBranchingPtr > & particles()
Access the map between the ShowerParticle and the HardBranching.
Definition: HardTree.h:59
bool partnersSet_
Whether or not partners are set.
Definition: HardTree.h:132
LorentzRotation showerRot_
Rotation to shower frame.
Definition: HardTree.h:127
set< HardBranchingPtr > branchings_
The HardBranchings in the hard process.
Definition: HardTree.h:117
HardTree(RealEmissionProcessPtr real)
Contructor from Real emission process.
LorentzRotation showerRot()
Get the Rotation to be applied to the tree.
Definition: HardTree.h:80
ShowerTreePtr _tree
The ShowerTree.
Definition: HardTree.h:107
set< HardBranchingPtr > & branchings()
Access the set of branchings.
Definition: HardTree.h:65
set< HardBranchingPtr > & incoming()
Access the incoming branchings.
Definition: HardTree.h:70
bool partnersSet() const
Whether or not the evolution partners are set.
Definition: HardTree.h:90
ShowerInteraction interaction_
Type of interaction.
Definition: HardTree.h:102
void partnersSet(bool in)
Whether or not the evolution partners are set.
Definition: HardTree.h:95
HardTree(vector< HardBranchingPtr >, vector< HardBranchingPtr >, ShowerInteraction)
The default constructor.
set< HardBranchingPtr > spacelike_
The HardBranchings which initiate the space-like showers.
Definition: HardTree.h:122
ShowerInteraction interaction()
Type of interaction.
Definition: HardTree.h:75
bool connect(ShowerTreePtr)
Match the prticles in the ShowerTree to the branchings in the HardTree.
ShowerInteraction
Handy header file to be included in all Shower classes.
-*- C++ -*-
ostream & operator<<(ostream &, const Collision &)