herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 
8 namespace Herwig {
9 
10 using namespace ThePEG;
11 
15 class ProtoBranching;
16 ThePEG_DECLARE_POINTERS(Herwig::ProtoBranching,ProtoBranchingPtr);
17 
21 class ProtoBranching : public Base {
22 
23 public:
24 
29 
34  const Lorentz5Momentum & momentum,
35  tSudakovPtr sudakov)
36  : part_(part), status_(status), momentum_(momentum),
37  sudakov_(sudakov), type_(ShowerPartnerType::Undefined)
38  {}
39 
43  long id() { return part_->id();}
44 
48  tcPDPtr particle() {return part_;}
49 
53  HardBranching::Status status() {return status_;}
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 
141 private:
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 */
vector< tProtoBranchingPtr > backChildren()
Back children.
tColinePtr antiColourLine_
Anticolour line.
tProtoBranchingPtr parent()
Set the parent.
ProtoBranching()
Default constructor.
tSudakovPtr sudakov()
Get the Sudakov.
void addBackChild(tProtoBranchingPtr in)
Add a child.
vector< tProtoBranchingPtr > children_
children
ShowerPartnerType
Enum for the type of shower partner.
tColinePtr colourLine_
Colour lines.
vector< tProtoBranchingPtr > children()
Children.
tcPDPtr particle()
The ParticleData.
void antiColourLine(tColinePtr in)
Anticolour line.
HardBranching::Status status()
Status of the branching.
void type(ShowerPartnerType in)
Type of branching.
Status
Enum for the status.
Definition: HardBranching.h:35
void addChild(tProtoBranchingPtr in)
Add a child.
tColinePtr colourLine() const
Colour line.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::Ptr< ColourLine >::transient_pointer tColinePtr
ProtoBranching(tcPDPtr part, HardBranching::Status status, const Lorentz5Momentum &momentum, tSudakovPtr sudakov)
Constructor.
tcPDPtr part_
PDG code.
vector< tProtoBranchingPtr > backChildren_
back children
void sudakov(tSudakovPtr in)
Set the Sudakov.
ShowerPartnerType type_
The type of branching.
long id()
Id of the brnaching particle.
-*- C++ -*-
void parent(tProtoBranchingPtr in)
Get the parent.
Class to store a prototype branching.
Lorentz5Momentum momentum_
Momentum.
tColinePtr antiColourLine() const
Anticolour line.
ShowerPartnerType type() const
Type of branching.
void colourLine(tColinePtr in)
Colour line.
HardBranching::Status status_
status
tSudakovPtr sudakov_
Sudakov.
const Lorentz5Momentum & momentum()
momentum
tProtoBranchingPtr parent_
parent