EvtFlatte Class Reference

#include <EvtFlatte.hh>

List of all members.

Public Member Functions

EvtFlatteoperator= (const EvtFlatte &)
 EvtFlatte (const EvtVector4R &p4_p, const EvtVector4R &p4_d1, const EvtVector4R &p4_d2, double ampl, double theta, double mass, vector< EvtFlatteParam > &params)
virtual ~EvtFlatte ()
const EvtVector4Rp4_p ()
const EvtVector4Rp4_d1 ()
const EvtVector4Rp4_d2 ()
double amplitude ()
double theta ()
double mass ()
EvtComplex resAmpl ()

Private Member Functions

EvtComplex sqrtCplx (double in)

Private Attributes

EvtVector4R _p4_p
EvtVector4R _p4_d1
EvtVector4R _p4_d2
double _ampl
double _theta
double _mass
vector< EvtFlatteParam_params


Detailed Description

Definition at line 48 of file EvtFlatte.hh.


Constructor & Destructor Documentation

EvtFlatte::EvtFlatte ( const EvtVector4R p4_p,
const EvtVector4R p4_d1,
const EvtVector4R p4_d2,
double  ampl,
double  theta,
double  mass,
vector< EvtFlatteParam > &  params 
)

Definition at line 55 of file EvtFlatte.cc.

00061                       : 
00062   _p4_p(p4_p),_p4_d1(p4_d1), _p4_d2(p4_d2), _ampl(ampl), _theta(theta), 
00063   _mass(mass),
00064   _params(params)
00065   //  _m1a(m1a), _m1b(m1b), _g1(g1),
00066   //  _m2a(m2a), _m2b(m2b), _g2(g2)
00067 {}

EvtFlatte::~EvtFlatte (  )  [virtual]

Definition at line 30 of file EvtFlatte.cc.

00030 {}


Member Function Documentation

double EvtFlatte::amplitude (  )  [inline]

Definition at line 75 of file EvtFlatte.hh.

References _ampl.

00075 { return _ampl; }  

double EvtFlatte::mass (  )  [inline]

Definition at line 81 of file EvtFlatte.hh.

References _mass.

Referenced by resAmpl().

00081 { return _mass; } 

EvtFlatte & EvtFlatte::operator= ( const EvtFlatte  ) 

Definition at line 34 of file EvtFlatte.cc.

References _ampl, _mass, _p4_d1, _p4_d2, _p4_p, _params, and _theta.

00035 {
00036   if ( &n == this ) return *this;
00037   _p4_p = n._p4_p;
00038   _p4_d1 = n._p4_d1;
00039   _p4_d2 = n._p4_d2;
00040   _ampl = n._ampl;
00041   _theta = n._theta;
00042   _mass = n._mass;
00043   _params = n._params;
00044   //  _m1a = n._m1a;
00045   //  _m1b = n._m1b;
00046   //  _g1 = n._g1;
00047   //  _m2a = n._m2a;
00048   //  _m2b = n._m2b;
00049   //  _g2 = n._g2;
00050   return  *this;
00051 }

const EvtVector4R& EvtFlatte::p4_d1 (  )  [inline]

Definition at line 70 of file EvtFlatte.hh.

References _p4_d1.

00070 { return _p4_d1; }

const EvtVector4R& EvtFlatte::p4_d2 (  )  [inline]

Definition at line 71 of file EvtFlatte.hh.

References _p4_d2.

00071 { return _p4_d2; }  

const EvtVector4R& EvtFlatte::p4_p (  )  [inline]

Definition at line 69 of file EvtFlatte.hh.

References _p4_p.

00069 { return _p4_p; }

EvtComplex EvtFlatte::resAmpl (  ) 

Definition at line 71 of file EvtFlatte.cc.

References _ampl, _mass, _p4_d1, _p4_d2, _params, _theta, cos(), mass(), EvtConst::radToDegrees, sin(), sqrtCplx(), and w.

Referenced by EvtDDalitz::decay().

00071                               {
00072  
00073   double pi180inv = 1.0/EvtConst::radToDegrees;
00074 
00075   //   EvtComplex ampl(cos(_theta*pi180inv), sin(_theta*pi180inv));
00076   //   ampl *= _ampl;
00077 
00078   // SCALARS ONLY
00079   double mR = (_p4_d1+_p4_d2).mass();
00080 
00081   EvtComplex w;
00082 
00083   for (vector<EvtFlatteParam>::const_iterator param = _params.begin();
00084        param != _params.end();
00085        ++param) {
00086 
00087     double m1 = (*param).m1(); double m2 = (*param).m2(); 
00088     double g = (*param).g();
00089     w += (g*g
00090           *sqrtCplx((1-((m1-m2)*(m1-m2))/(mR*mR))*
00091                     (1-((m1+m2)*(m1+m2))/(mR*mR))));
00092     //     cout << m1 << " " << mR << " " << w << endl;
00093   }
00094 
00095   EvtComplex denom = _mass*_mass - mR*mR - EvtComplex(0,1)*w;
00096   EvtComplex ampl = _ampl*EvtComplex(cos(_theta*pi180inv), sin(_theta*pi180inv))/denom;
00097   //  cout << abs(1/denom) << endl;
00098   return ampl;
00099 }

EvtComplex EvtFlatte::sqrtCplx ( double  in  )  [inline, private]

Definition at line 90 of file EvtFlatte.hh.

Referenced by resAmpl().

00090                                         { return (in > 0) ? EvtComplex(sqrt(in), 0) : EvtComplex
00091                                             (0, sqrt(-in)); }

double EvtFlatte::theta (  )  [inline]

Definition at line 78 of file EvtFlatte.hh.

References _theta.

00078 { return _theta; } 


Member Data Documentation

double EvtFlatte::_ampl [private]

Definition at line 94 of file EvtFlatte.hh.

Referenced by amplitude(), operator=(), and resAmpl().

double EvtFlatte::_mass [private]

Definition at line 94 of file EvtFlatte.hh.

Referenced by mass(), operator=(), and resAmpl().

EvtVector4R EvtFlatte::_p4_d1 [private]

Definition at line 93 of file EvtFlatte.hh.

Referenced by operator=(), p4_d1(), and resAmpl().

EvtVector4R EvtFlatte::_p4_d2 [private]

Definition at line 93 of file EvtFlatte.hh.

Referenced by operator=(), p4_d2(), and resAmpl().

EvtVector4R EvtFlatte::_p4_p [private]

Definition at line 93 of file EvtFlatte.hh.

Referenced by operator=(), and p4_p().

vector<EvtFlatteParam> EvtFlatte::_params [private]

Definition at line 95 of file EvtFlatte.hh.

Referenced by operator=(), and resAmpl().

double EvtFlatte::_theta [private]

Definition at line 94 of file EvtFlatte.hh.

Referenced by operator=(), resAmpl(), and theta().


Generated on Tue Nov 29 23:19:00 2016 for BOSS_7.0.2 by  doxygen 1.4.7