#include "ATOOLS/Phys/NLO_Subevt.H" #include "ATOOLS/Phys/Blob.H" #include "ATOOLS/Phys/Cluster_Amplitude.H" #include "ATOOLS/Org/MyStrStream.H" using namespace ATOOLS; bool IDip_ID::operator<(const IDip_ID &di) const { if (m_ijtdi.m_ijt) return false; return m_ktdi.m_i) return false; if (m_jdi.m_j) return false; return m_kdi.m_ijt) return false; if (m_ktdi.m_kt) return false; return DDip_ID::operator<(di); } NLO_subevt::~NLO_subevt() { if (m_delete) { delete[] p_fl; delete[] p_mom; delete[] p_id; } if (p_ampl) p_ampl->Delete(); } void NLO_subevt::CopyXSData(const NLO_subevt *sub) { m_me=sub->m_me; m_mewgt=sub->m_mewgt; m_trig=sub->m_trig; m_K=sub->m_K; for (size_t i(0);im_mu2[i]; m_result=0.0; m_results.Clear(); m_results = 0.0; if (p_ampl) { p_ampl->Delete(); p_ampl=NULL; } if (sub->p_ampl) { p_ampl=sub->p_ampl->CopyAll(); for (Cluster_Amplitude *ampl(p_ampl); ampl;ampl=ampl->Next()) ampl->SetProc(p_proc); } } void NLO_subevtlist::Mult(const double &scal) { for (const_iterator it=begin();it!=end();it++) (*it)->Mult(scal); } void NLO_subevtlist::MultME(const double &scal) { for (const_iterator it=begin();it!=end();it++) (*it)->MultME(scal); } void NLO_subevtlist::MultMEwgt(const double &scal) { for (const_iterator it=begin();it!=end();it++) (*it)->MultMEwgt(scal); } ATOOLS::Particle_List *NLO_subevt::CreateParticleList() const { ATOOLS::Particle_List * pl = new ATOOLS::Particle_List; for (size_t i=2;ipush_back(new ATOOLS::Particle(i,p_fl[i],p_mom[i])); } return pl; } std::string NLO_subevt::IDString(const int mode) const { std::string tag; bool si(mode&&(p_id[0]&1)==0); for (size_t i(0);im_result*=scal; (*it)->m_results*=scal; } return *this; } namespace ATOOLS { std::ostream &operator<<(std::ostream &ostr,const IDip_ID &idi) { return ostr<<"["<["<("<["< ids; ATOOLS::Flavour_Vector flavs; for (size_t i(0);i"; } return ostr<<""; } } namespace ATOOLS { template <> Blob_Data::~Blob_Data() {} template class Blob_Data; }