00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef EVT_DALITZ_POINT_HH
00021 #define EVT_DALITZ_POINT_HH
00022
00023 #include "EvtGenBase/EvtCyclic3.hh"
00024 #include "EvtGenBase/EvtDalitzCoord.hh"
00025 #include "EvtGenBase/EvtDalitzPlot.hh"
00026
00027 class EvtDalitzPoint {
00028
00029 public:
00030
00031 EvtDalitzPoint();
00032 EvtDalitzPoint(double mA, double mB, double mC,
00033 double qAB, double qBC, double qCA);
00034 EvtDalitzPoint(double mA, double mB, double mC,
00035 EvtCyclic3::Pair i, double qres, double qhel, double qsum);
00036 EvtDalitzPoint(const EvtDalitzPlot&, const EvtDalitzCoord&);
00037 EvtDalitzPoint(const EvtDalitzPoint& other);
00038 ~EvtDalitzPoint();
00039
00040 EvtDalitzCoord getDalitzPoint(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
00041 EvtDalitzPlot getDalitzPlot() const;
00042
00043 double q(EvtCyclic3::Pair) const;
00044 double bigM() const;
00045 double m(EvtCyclic3::Index) const;
00046
00047
00048
00049 double qres(EvtCyclic3::Pair i) const;
00050 double qhel(EvtCyclic3::Pair i) const;
00051 double qsum() const;
00052
00053
00054
00055
00056
00057
00058
00059 double qMin(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
00060 double qMax(EvtCyclic3::Pair i, EvtCyclic3::Pair j) const;
00061 double pp(EvtCyclic3::Index i, EvtCyclic3::Index j) const;
00062 double e(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
00063 double p(EvtCyclic3::Index i, EvtCyclic3::Pair j) const;
00064 double cosTh(EvtCyclic3::Pair pairAng, EvtCyclic3::Pair pairRes) const;
00065
00066 bool isValid() const;
00067
00068 void print() const;
00069
00070 private:
00071
00072 double _mA, _mB, _mC;
00073 double _qAB, _qBC, _qCA;
00074 };
00075
00076 #endif