00001
00002
00003
00004
00005
00006
00007
00008 #ifndef DALITZ_H
00009 #define DALITZ_H
00010
00011
00012 #include <complex>
00013 using namespace std;
00014 typedef complex<double> TComplex;
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 using std::string;
00028
00029
00030 class Dalitz {
00031
00032 public:
00033 Dalitz();
00034 Dalitz(int binNum);
00035 TComplex Amplitude(double x, double y, double z);
00036 double Phase(double x, double y, double z, int Babar=1);
00037 bool Point_on_DP(double x, double y);
00038 bool Point_on_DP2(double x, double y);
00039 TComplex CLEO_resAmp(double mAC, double mBC, double mAB,
00040 double mA, double mB, double mC,
00041 double _ampl, double _theta, double _gamma,
00042 double _bwm, int _spin);
00043 TComplex resAmp(double mAC, double mBC, double mAB,
00044 double mA, double mB, double mC,
00045 double _ampl, double _theta, double _gamma,
00046 double _bwm, int _spin);
00047 TComplex f_980(double mPP, double mR,
00048 double _ampl, double _theta );
00049 TComplex sakurai(double mkp, double mkm, double mpp,
00050 double _ampl, double _theta,
00051 double gamma_r, double m_r);
00052 TComplex Babar_sakurai(double mkp, double mkm, double mpp,
00053 double _ampl, double _theta,
00054 double gamma_r, double m_r);
00055 TComplex Babar_resAmp(double mAC, double mBC, double mAB,
00056 double mB , double mA , double mC ,
00057 double _ampl, double _theta, double _gamma,
00058 double _bwm, int _spin);
00059 TComplex Babar_Amplitude(double x, double y, double z);
00060 TComplex CLEO_Amplitude(double x, double y, double z);
00061 int getBin(double mx, double my, double mz);
00062
00063 private:
00064 static double PI;
00065 int N;
00066 static const int Nbin = 1000;
00067
00068 };
00069
00070 #endif
00071