MINT2
CrystalBarrelFOCUS.h
Go to the documentation of this file.
1 #ifndef CRYSTAL_BARREL_FORTRAN
2 #define CRYSTAL_BARREL_FORTRAN
3 // this is the FOCUS implementation of the Crystal Barrel Lineshape,
4 // literally translated from FORTRAN
5 // (with added features to make it function in the framework)
6 
7 #include "Mint/BW_BW.h"
8 
9 #include "Mint/ILineshape.h"
10 #include "Mint/ILineshape.h"
12 
13 #include "Mint/IGenFct.h"
14 #include "TRandom.h"
15 
16 #include "Mint/counted_ptr.h"
17 #include <complex>
18 
19 class CrystalBarrelFOCUS : public BW_BW, virtual public ILineshape{
20  protected:
21  mutable double _mRho, _GRho, _mOmega, _GOmega;
22  std::complex<double> AlbertosFunction(double sij);
23 
24  double mRho() const;
25  double GammaRhoFixed() const;
26  double mOmega() const;
27  double GammaOmegaFixed() const;
28 
29  std::complex<double> BW (double s, double m_w, double gamma) const;
30 
31  public:
34  virtual ~CrystalBarrelFOCUS();
35 
36  virtual std::complex<double> getVal(IDalitzEvent& evt);
37 
38  virtual void print(std::ostream& out = std::cout) const;
39  virtual void print(IDalitzEvent& evt, std::ostream& out = std::cout);
40 
41  virtual std::string name() const{
42  return "CrystalBarrel_ala_FOCUS("+_theDecay.oneLiner() +")";
43  }
44 
45 };
46 
47 std::ostream& operator<<(std::ostream& out, const CrystalBarrelFOCUS& amp);
48 
49 #endif
50 //
virtual void print(std::ostream &out=std::cout) const
std::complex< double > BW(double s, double m_w, double gamma) const
std::complex< double > AlbertosFunction(double sij)
const AssociatedDecayTree & _theDecay
Definition: BW_BW.h:69
static const double s
Definition: BW_BW.h:30
double GammaOmegaFixed() const
CrystalBarrelFOCUS(const AssociatedDecayTree &decay)
double GammaRhoFixed() const
virtual std::string name() const
std::ostream & operator<<(std::ostream &out, const CrystalBarrelFOCUS &amp)
void oneLiner(std::stringstream &seam, int generation=0) const
Definition: DDTree.h:375
virtual std::complex< double > getVal(IDalitzEvent &evt)