/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenBase/EvtFlatte.hh

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Environment:
00004 //      This software is part of the EvtGen package developed jointly
00005 //      for the BaBar and CLEO collaborations.  If you use all or part
00006 //      of it, please give an appropriate acknowledgement.
00007 //
00008 // Copyright Information: See EvtGen/COPYRIGHT
00009 //      Copyright (C) 1998      Caltech, UCSB
00010 //
00011 // Module: EvtGen/EvtFlatte.hh
00012 //
00013 // Description:resonance-defining class
00014 //
00015 // Modification history:
00016 //
00017 //    ponyisi  18 Feb 2008  created
00018 //
00019 //------------------------------------------------------------------------
00020 
00021 #ifndef EVTFLATTE_HH
00022 #define EVTFLATTE_HH
00023 
00024 #include "EvtGenBase/EvtVector4R.hh"
00025 #include <vector>
00026 
00027 using std::vector;
00028 
00029 class EvtComplex;
00030 
00031 // Helper class
00032 
00033 class EvtFlatteParam {
00034 public:
00035   EvtFlatteParam(double m1, double m2, double g):
00036     _m1(m1), _m2(m2), _g(g) {}
00037       
00038   inline double m1() const { return _m1; }
00039   inline double m2() const { return _m2; }
00040   inline double g() const { return _g; }
00041 
00042 private:
00043   double _m1, _m2, _g;
00044 };
00045 
00046 //class declaration
00047 
00048 class EvtFlatte {
00049 public:
00050 
00051   //operator
00052   EvtFlatte& operator = (const EvtFlatte &);
00053 
00054   //constructor with all information about the resonance
00055   EvtFlatte(const EvtVector4R& p4_p, const EvtVector4R& p4_d1, 
00056             const EvtVector4R& p4_d2, 
00057             double ampl, double theta,
00058             double mass, 
00059              vector<EvtFlatteParam>& params
00060             //           double m1a = 0.0, double m1b = 0.0, double g1 = 0.0,
00061             //           double m2a = 0.0, double m2b = 0.0, double g2 = 0.0
00062             );
00063 
00064   //destructor
00065   virtual ~EvtFlatte();
00066 
00067   //accessors
00068   //return 4-momenta of the particles involved
00069   inline const EvtVector4R& p4_p() { return _p4_p; }
00070   inline const EvtVector4R& p4_d1() { return _p4_d1; }
00071   inline const EvtVector4R& p4_d2() { return _p4_d2; }  
00072     
00073 
00074   //return amplitude
00075   inline double amplitude() { return _ampl; }  
00076 
00077   //return theta
00078   inline double theta() { return _theta; } 
00079 
00080   //return bwm
00081   inline double mass() { return _mass; } 
00082 
00083   //functions
00084 
00085   //calculate amplitude for this resonance
00086   EvtComplex resAmpl();
00087    
00088 private:
00089 
00090   inline EvtComplex sqrtCplx(double in) { return (in > 0) ? EvtComplex(sqrt(in), 0) : EvtComplex
00091                                             (0, sqrt(-in)); }
00092 
00093   EvtVector4R _p4_p, _p4_d1, _p4_d2;
00094   double _ampl, _theta, _mass;
00095   vector<EvtFlatteParam> _params;
00096   //      double _m1a, _m1b, _g1;
00097   //      double _m2a, _m2b, _g2;
00098 }; 
00099 
00100 #endif
00101 

Generated on Tue Nov 29 23:12:13 2016 for BOSS_7.0.2 by  doxygen 1.4.7