Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-04-19 09:10:03

0001 #ifndef HADRONS_Current_Library_VA_0_PP_strange_H
0002 #define HADRONS_Current_Library_VA_0_PP_strange_H
0003 
0004 #include "HADRONS++/Current_Library/Current_Base.H"
0005 #include "HADRONS++/PS_Library/ResonanceFlavour.H"
0006 #include "HADRONS++/Main/Tools.H"
0007 
0008 
0009 namespace HADRONS {
0010   class VA_0_PP_strange : public Current_Base {
0011     class FF_Base {
0012       protected:
0013         ResonanceFlavour m_R, m_R0;
0014         double m_fpi2;
0015         double m_mPi2, m_mK2, m_mEta2, m_mPi, m_mK, m_mEta;  // mass of pi, K, eta
0016         double m_Sigma_KP, m_Delta_KP;    // sum, difference of masses^2
0017       public :
0018         FF_Base(GeneralModel _md);
0019         virtual ~FF_Base();
0020         virtual Complex VectorFormFactor( double ) = 0;
0021         virtual Complex ScalarFormFactor( double ) = 0;
0022         void SetMasses2( double, double, double );
0023     };
0024       
0025 
0026     class RChT : public FF_Base {       // Guerrero, Tesis Doctoral
0027        
0028       double m_MK2, m_GK;               // K* resonance par's, pi decay constant
0029       double m_MK02, m_GK0;             // K0* resonance par's
0030       double m_renorm2;                 // renormalisation scale
0031       double m_cd, m_cm;                // LEC
0032       
0033       Complex JBar( double s, double MP2, double MQ2, double Sigma, double Delta );
0034       Complex JBarBar( double s, double MP2, double MQ2, double Sigma, double Delta );
0035       Complex Mr( double s, double MP2, double MQ2 );
0036       Complex L( double s, double MP2, double MQ2 );
0037       double MuOf( double m2 );
0038       double MassWidthVector( double s );
0039       double MassWidthScalar( double s );
0040        
0041       public:
0042         RChT(GeneralModel _md);
0043         ~RChT() {};
0044         Complex VectorFormFactor( double );
0045         Complex ScalarFormFactor( double );
0046     }; 
0047 
0048     class KS : public FF_Base {     
0049        
0050       ResonanceFlavour  m_RR;
0051       double            m_beta;
0052       public:
0053         KS(GeneralModel _md);
0054         ~KS() {};
0055         Complex VectorFormFactor( double );
0056         Complex ScalarFormFactor( double );
0057     }; 
0058 
0059     bool     m_chpionmode;      // pion = pi+ or pi0 
0060 //     double   m_Vus2;            // CKM ME
0061     double   m_global;          //
0062     double   m_ms[4];           // masses^2 
0063     double   m_Delta_KP;        // difference of masses^2
0064 
0065     FF_Base * p_ff;
0066     
0067   public:
0068     VA_0_PP_strange(const ATOOLS::Flavour_Vector& flavs,
0069                     const std::vector<int>& indices, const std::string& name) :
0070       Current_Base(flavs, indices, name) {};
0071     ~VA_0_PP_strange() {
0072       if (p_ff!=NULL) delete p_ff;
0073     }
0074     void SetModelParameters( struct GeneralModel _md );
0075     void Calc(const ATOOLS::Vec4D_Vector& moms, bool m_anti);
0076   };
0077 }
0078 #endif