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;
0016 double m_Sigma_KP, m_Delta_KP;
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 {
0027
0028 double m_MK2, m_GK;
0029 double m_MK02, m_GK0;
0030 double m_renorm2;
0031 double m_cd, m_cm;
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;
0060
0061 double m_global;
0062 double m_ms[4];
0063 double m_Delta_KP;
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