#include "CSSHOWER++/Tools/Parton.H" #include "CSSHOWER++/Tools/Singlet.H" #include "ATOOLS/Phys/Cluster_Leg.H" #include "ATOOLS/Math/MathTools.H" #include "ATOOLS/Org/Exception.H" using namespace CSSHOWER; using namespace ATOOLS; using namespace std; namespace CSSHOWER { std::ostream& operator<<(std::ostream& str, const Parton &part) { str<<" Parton ["<m_id):vector())<<"," <<(part.p_right?ATOOLS::ID(part.p_right->m_id):vector())<<")"<::max() || part.m_kt_soft[1]::max()) { str<<" k_T left : "<DeleteAll(); delete this; } Parton *Parton::FollowUp() { if (p_next) return p_next->FollowUp(); return this; } void Parton::UpdateColours() { msg_IODebugging()<begin());pit!=p_sing->end();++pit) { if (f1 && f1==(*pit)->GetFlow(2)) (p_left=*pit)->SetRight(this); if (f2 && f2==(*pit)->GetFlow(1)) (p_right=*pit)->SetLeft(this); } msg_IODebugging()<<*this; } msg_IODebugging()<<"}\n"; } double Parton::Weight(const double &scale) { double weight=1.0; for (size_t i(0);iscale) weight*=m_weights[i].second; else break; return weight; } void Parton::SetLeftOf(Parton * part) { part->SetLeft(p_left); if (p_left) p_left->SetRight(part); } void Parton::SetRightOf(Parton * part) { part->SetRight(p_right); if (p_right) p_right->SetLeft(part); }