00001 /******************************************************************************* 00002 * Project: BaBar detector at the SLAC PEP-II B-factory 00003 * Package: EvtGenBase 00004 * File: $Id: EvtBreitWignerPdf.hh,v 1.1.1.2 2007/10/26 05:03:14 pingrg Exp $ 00005 * Author: Alexei Dvoretskii, dvoretsk@slac.stanford.edu, 2001-2002 00006 * 00007 * Copyright (C) 2002 Caltech 00008 *******************************************************************************/ 00009 00010 // Breit-Wigner PDF 00011 00012 #ifndef EVT_BREIT_WIGNER_PDF_HH 00013 #define EVT_BREIT_WIGNER_PDF_HH 00014 00015 #include "EvtGenBase/EvtIntegPdf1D.hh" 00016 00017 class EvtBreitWignerPdf : public EvtIntegPdf1D { 00018 00019 public: 00020 00021 EvtBreitWignerPdf(double min, double max, double m0, double g0); 00022 EvtBreitWignerPdf(const EvtBreitWignerPdf& other); 00023 virtual ~EvtBreitWignerPdf(); 00024 00025 double pdf(const EvtPoint1D& x) const; 00026 EvtPdf<EvtPoint1D>* clone() const 00027 { 00028 return new EvtBreitWignerPdf(*this); 00029 } 00030 00031 double pdfIntegral(double m) const; 00032 double pdfIntegralInverse(double x) const; 00033 00034 // accessors 00035 00036 inline double m0() const { return _m0; } 00037 inline double g0() const { return _g0; } 00038 00039 private: 00040 00041 double _m0; 00042 double _g0; 00043 00044 }; 00045 00046 00047 #endif 00048