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

Go to the documentation of this file.
00001 //-----------------------------------------------------------------------
00002 // File and Version Information: 
00003 //      $Id: EvtMassAmp.hh,v 1.2 2011/01/06 22:57:56 pingrg Exp $
00004 // 
00005 // Environment:
00006 //      This software is part of the EvtGen package developed jointly
00007 //      for the BaBar and CLEO collaborations. If you use all or part
00008 //      of it, please give an appropriate acknowledgement.
00009 //
00010 // Copyright Information:
00011 //      Copyright (C) 1998 Caltech, UCSB
00012 //
00013 // Module creator:
00014 //      Alexei Dvoretskii, Caltech, 2001-2002.
00015 //-----------------------------------------------------------------------
00016 
00017 // Relativistic lineshape for a two-body decay of a resonance to two 
00018 // pseudoscalars. The mass dependence of the width and the vertex factors
00019 // are included in the calculation.
00020 
00021 #ifndef EVT_MASSAMP_HH
00022 #define EVT_MASSAMP_HH
00023 
00024 #include "EvtGenBase/EvtPoint1D.hh"
00025 #include "EvtGenBase/EvtAmplitude.hh"
00026 #include "EvtGenBase/EvtPropBreitWignerRel.hh"
00027 #include "EvtGenBase/EvtTwoBodyVertex.hh"
00028 
00029 class EvtMassAmp : public EvtAmplitude<EvtPoint1D> {
00030 public:
00031 
00032   EvtMassAmp(const EvtPropBreitWignerRel& prop, const EvtTwoBodyVertex& vd);
00033   EvtMassAmp(const EvtMassAmp& other); 
00034   virtual ~EvtMassAmp(); 
00035 
00036   virtual EvtComplex amplitude(const EvtPoint1D& p) const;
00037 
00038   virtual EvtAmplitude<EvtPoint1D>* clone() const
00039   { return new EvtMassAmp(*this); }
00040   
00041   void setBirthVtx(const EvtTwoBodyVertex& vb)
00042   {
00043     _vb = new EvtTwoBodyVertex(vb);
00044   }
00045 
00046   void addBirthFact() { _useBirthFact = true; }
00047   void addDeathFact() { _useDeathFact = true; }
00048   void addBirthFactFF() { _useBirthFactFF = true; }
00049   void addDeathFactFF() { _useDeathFactFF = true; }
00050   void fixUpMassForMax() { _fixUpMassForMax = true;}
00051   void addFactorPn(double factor){_addfactor = factor;}
00052 
00053 private:
00054   
00055   EvtPropBreitWignerRel _prop;
00056   EvtTwoBodyVertex  _vd;
00057   EvtTwoBodyVertex* _vb;
00058   double _addfactor;
00059 
00060   bool _useBirthFact;
00061   bool _useDeathFact;
00062   bool _useBirthFactFF;
00063   bool _useDeathFactFF;
00064   bool _fixUpMassForMax;
00065 };
00066 
00067 
00068 #endif

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