File indexing completed on 2025-04-19 09:09:44
0001 #ifndef AHADIC_Tools_Hadron_Multiplet_H
0002 #define AHADIC_Tools_Hadron_Multiplet_H
0003
0004 #include "AHADIC++/Tools/Wave_Function.H"
0005
0006 namespace AHADIC {
0007
0008 class Hadron_Multiplet {
0009 private:
0010 std::set<ATOOLS::Flavour> m_elements;
0011 double m_spinweight,m_extraweight,m_weight;
0012 public:
0013 Hadron_Multiplet() :
0014 m_spinweight(1.),m_extraweight(1.),m_weight(1.) {}
0015 void AddToElements(ATOOLS::Flavour fl) { m_elements.insert(fl); }
0016 void SetSpinWeight(double wt) { m_spinweight = wt; }
0017 void SetExtraWeight(double wt) { m_extraweight = wt; }
0018 void SetWeight(double wt=0.) {
0019 if (wt==0.) m_weight = m_spinweight * m_extraweight;
0020 else m_weight = wt;
0021 }
0022 std::set<ATOOLS::Flavour> * GetElements() { return &m_elements; }
0023 int Size() { return m_elements.size(); }
0024 double SpinWeight() { return m_spinweight; }
0025 double ExtraWeight() { return m_extraweight; }
0026 double Weight() { return m_weight; }
0027 };
0028
0029 typedef std::map<std::string,Hadron_Multiplet *> Hadron_Multiplet_Map;
0030 }
0031
0032 #endif