#include "ATOOLS/Phys/KF_Table.H" #include "ATOOLS/Org/Message.H" #include <iomanip> namespace ATOOLS { KF_Table s_kftable; } using namespace ATOOLS; void ATOOLS::OutputHadrons(std::ostream &str) { str<<"List of Hadron data \n"; str<<std::setw(16)<<"IDName"; str<<std::setw(8)<<"kfc"; str<<std::setw(16)<<"Mass"; str<<std::setw(16)<<"Width"; str<<std::setw(9)<<"Stable"; str<<std::setw(9)<<"Active"; str<<'\n'; KFCode_ParticleInfo_Map::const_iterator kfit = s_kftable.begin(); for (;kfit!=s_kftable.end();++kfit) { Flavour flav(kfit->first); if ((flav.IsHadron() || flav.IsDiQuark()) && flav.Size()==1 && flav.Kfcode()!=0) { str<<std::setw(16)<<flav.IDName(); str<<std::setw(8)<<flav.Kfcode(); str<<std::setw(16)<<flav.HadMass(); str<<std::setw(16)<<flav.Width(); str<<std::setw(9)<<flav.Stable(); str<<std::setw(9)<<flav.IsOn(); str<<"\n"; } } } void ATOOLS::OutputParticles(std::ostream &str) { str<<"List of Particle Data \n"; str<<std::setw(11)<<"IDName"; str<<std::setw(8)<<"kfc"; str<<std::setw(16)<<"Mass"; str<<std::setw(16)<<"Width"; str<<std::setw(9)<<"Stable"; str<<std::setw(9)<<"Massive"; str<<std::setw(9)<<"Active"; str<<std::setw(16)<<"Yukawa"; str<<'\n'; KFCode_ParticleInfo_Map::const_iterator kfit = s_kftable.begin(); for (;kfit!=s_kftable.end();++kfit) { Flavour flav(kfit->first); if (flav.IsDiQuark() || flav.IsHadron()) continue; if (flav.Size()==1 && flav.Kfcode()!=0 && !flav.IsDummy()) { str<<std::setw(11)<<flav.IDName(); str<<std::setw(8)<<flav.Kfcode(); str<<std::setw(16)<<flav.Mass(true); str<<std::setw(16)<<flav.Width(); str<<std::setw(9)<<flav.Stable(); str<<std::setw(9)<<flav.IsMassive(); str<<std::setw(9)<<flav.IsOn(); str<<std::setw(16)<<flav.Yuk(); str<<"\n"; } } } void ATOOLS::OutputContainers(std::ostream &str) { str<<"List of Particle Containers \n"; str<<std::setw(11)<<"IDName"; str<<std::setw(8)<<"kfc"; str<<std::setw(17)<<"Constituents"; str<<'\n'; KFCode_ParticleInfo_Map::const_iterator kfit = s_kftable.begin(); for (;kfit!=s_kftable.end();++kfit) { Flavour flav(kfit->first); if (!flav.IsHadron() && flav.IsGroup() && flav.Kfcode()!=0) { str<<std::setw(11)<<flav.IDName(); str<<std::setw(8)<<flav.Kfcode(); str<<std::setw(6)<<"{"; for (unsigned int i=0;i<flav.Size();i++) { if (i!=flav.Size()-1) str<<flav[i].IDName()<<","; if (i==flav.Size()-1) str<<flav[i].IDName(); } str<<"}\n"; } } } KF_Table::~KF_Table() { for (const_iterator kfit(begin());kfit!=end();++kfit) delete kfit->second; } kf_code KF_Table::KFFromIDName(const std::string &idname) const { for(const_iterator kfit(begin());kfit!=end();++kfit) if (kfit->second->m_idname==idname) return kfit->first; return kf_none; }