Back to home page

EIC code displayed by LXR

 
 

    


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   // This is just a container class - it does nothing.
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