herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
ProtoBranching.h
1// -*- C++ -*-
2#ifndef HERWIG_ProtoBranching_H
3#define HERWIG_ProtoBranching_H
4//
5// This is the declaration of the ProtoBranching class.
6//
7
8namespace Herwig {
9
10using namespace ThePEG;
11
15class ProtoBranching;
16ThePEG_DECLARE_POINTERS(Herwig::ProtoBranching,ProtoBranchingPtr);
17
21class ProtoBranching : public Base {
22
23public:
24
29
34 const Lorentz5Momentum & momentum,
35 tSudakovPtr sudakov)
38 {}
39
43 long id() { return part_->id();}
44
49
54
58 tProtoBranchingPtr parent() {return parent_;}
59
63 void parent(tProtoBranchingPtr in) {parent_=in;}
64
68 vector<tProtoBranchingPtr> children() {return children_;}
69
73 void addChild(tProtoBranchingPtr in ) {children_.push_back(in);}
74
78 vector<tProtoBranchingPtr> backChildren() {return backChildren_;}
79
83 void addBackChild(tProtoBranchingPtr in ) {backChildren_.push_back(in);}
84
88 const Lorentz5Momentum & momentum() {return momentum_;}
89
93 tSudakovPtr sudakov() {return sudakov_;}
94
98 void sudakov(tSudakovPtr in) { sudakov_=in; }
99
104 return type_;
105 }
106
111 type_ = in;
112 assert(type_!=ShowerPartnerType::Undefined);
113 }
114
119 return colourLine_;
120 }
125 return antiColourLine_;
126 }
127
132 colourLine_ = in;
133 }
138 antiColourLine_ = in;
139 }
140
141private:
142
147
152
156 Lorentz5Momentum momentum_;
157
161 tSudakovPtr sudakov_;
162
166 vector<tProtoBranchingPtr> children_;
167
171 vector<tProtoBranchingPtr> backChildren_;
172
176 tProtoBranchingPtr parent_;
177
182
191
197
198};
199
200}
201
202#endif /* HERWIG_ProtoBranching_H */
Status
Enum for the status.
Definition: HardBranching.h:35
Class to store a prototype branching.
tSudakovPtr sudakov()
Get the Sudakov.
ShowerPartnerType type_
The type of branching.
void addBackChild(tProtoBranchingPtr in)
Add a child.
void type(ShowerPartnerType in)
Type of branching.
ProtoBranching()
Default constructor.
ShowerPartnerType type() const
Type of branching.
vector< tProtoBranchingPtr > backChildren()
Back children.
tSudakovPtr sudakov_
Sudakov.
void sudakov(tSudakovPtr in)
Set the Sudakov.
tColinePtr antiColourLine() const
Anticolour line.
long id()
Id of the brnaching particle.
tProtoBranchingPtr parent_
parent
tProtoBranchingPtr parent()
Set the parent.
vector< tProtoBranchingPtr > children_
children
vector< tProtoBranchingPtr > children()
Children.
tColinePtr colourLine() const
Colour line.
tcPDPtr part_
PDG code.
tColinePtr colourLine_
Colour lines.
void antiColourLine(tColinePtr in)
Anticolour line.
void addChild(tProtoBranchingPtr in)
Add a child.
ProtoBranching(tcPDPtr part, HardBranching::Status status, const Lorentz5Momentum &momentum, tSudakovPtr sudakov)
Constructor.
HardBranching::Status status()
Status of the branching.
Lorentz5Momentum momentum_
Momentum.
void colourLine(tColinePtr in)
Colour line.
tColinePtr antiColourLine_
Anticolour line.
const Lorentz5Momentum & momentum()
momentum
tcPDPtr particle()
The ParticleData.
HardBranching::Status status_
status
vector< tProtoBranchingPtr > backChildren_
back children
void parent(tProtoBranchingPtr in)
Get the parent.
-*- C++ -*-
ShowerPartnerType
Enum for the type of shower partner.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::Ptr< ColourLine >::transient_pointer tColinePtr