Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:09:44

0001 #ifndef AHADIC_Tools_Multiplet_Constructor_H
0002 #define AHADIC_Tools_Multiplet_Constructor_H
0003 
0004 #include "AHADIC++/Tools/Hadron_Multiplet.H"
0005 
0006 
0007 namespace AHADIC {
0008   struct HadInfo {
0009     ATOOLS::Flavour flav;
0010     int         iso,exr,exl,fl3,fl2,fl1,spin2;
0011     bool        barrable;
0012     std::string multiname;
0013     double      multiwt,spinwt,extrawt;
0014     
0015     friend std::ostream & operator<<(std::ostream & s,const HadInfo & info);
0016   };
0017     
0018     
0019   class Multiplet_Constructor {
0020   private:
0021     bool    m_test;
0022     double  m_singletsuppression;
0023     double  m_etam, m_etapm, m_cse, m_bse, m_bce, m_hcbe, m_hbbe, m_sbm;
0024     HadInfo m_info;
0025     
0026     std::map<std::string,std::set<ATOOLS::Flavour> > m_multiplets;
0027     Wave_Functions m_wavefunctions;
0028     
0029     void        CreateMultiplets();
0030     bool        ExtractInfo(const kf_code & kfc);
0031     std::string MultipletName();
0032     void        FillMultipletWeights();
0033     double      MixingAngle();
0034 
0035     bool ConstructWaveFunction();
0036     bool ConstructMesonWaveFunction();
0037     Wave_Function * TrivialMesonWaveFunction();
0038     Wave_Function * Pi0WaveFunction();
0039     Wave_Function * OctetMesonWaveFunction();
0040     Wave_Function * SingletMesonWaveFunction();
0041     bool ConstructBaryonWaveFunction();
0042     bool ConstructAntiBaryonWaveFunction(ATOOLS::Flavour & flav);
0043     Wave_Function * NeutronWaveFunction();
0044     Wave_Function * ProtonWaveFunction();
0045     Wave_Function * SigmaWaveFunction();
0046     Wave_Function * LambdaWaveFunction();
0047     Wave_Function * Lambda1WaveFunction();
0048     Wave_Function * SigmaHWaveFunction();
0049     Wave_Function * LambdaHWaveFunction();
0050     Wave_Function * DeltaPPWaveFunction();
0051     Wave_Function * DeltaPWaveFunction();
0052     Wave_Function * Delta0WaveFunction();
0053     Wave_Function * DecupletSigmaWaveFunction();
0054     Wave_Function * DecupletLambdaWaveFunction();
0055     Wave_Function * HeavyDecupletWaveFunction();
0056   public:
0057     Multiplet_Constructor(bool test=false);
0058     ~Multiplet_Constructor();
0059 
0060     Wave_Functions * GetWaveFunctions() { return &m_wavefunctions; }  
0061     void PrintWaveFunctions(bool checkonly=false);
0062     void PrintMultiplets();
0063   };
0064 }
0065 
0066 #endif