Changeset View
Changeset View
Standalone View
Standalone View
EvtGenBase/EvtFlatte.hh
Show All 27 Lines | |||||
using std::vector; | using std::vector; | ||||
// Helper class | // Helper class | ||||
class EvtFlatteParam { | class EvtFlatteParam { | ||||
public: | public: | ||||
EvtFlatteParam( double m1, double m2, double g ) : | EvtFlatteParam( double m1, double m2, double g ) : | ||||
_m1( m1 ), _m2( m2 ), _g( g ) | m_m1( m1 ), m_m2( m2 ), m_g( g ) | ||||
{ | { | ||||
} | } | ||||
inline double m1() const { return _m1; } | inline double m1() const { return m_m1; } | ||||
inline double m2() const { return _m2; } | inline double m2() const { return m_m2; } | ||||
inline double g() const { return _g; } | inline double g() const { return m_g; } | ||||
private: | private: | ||||
double _m1, _m2, _g; | double m_m1, m_m2, m_g; | ||||
}; | }; | ||||
//class declaration | //class declaration | ||||
class EvtFlatte final { | class EvtFlatte final { | ||||
public: | public: | ||||
//operator | //operator | ||||
EvtFlatte& operator=( const EvtFlatte& ); | EvtFlatte& operator=( const EvtFlatte& ); | ||||
//constructor with all information about the resonance | //constructor with all information about the resonance | ||||
EvtFlatte( const EvtVector4R& p4_p, const EvtVector4R& p4_d1, | EvtFlatte( const EvtVector4R& p4_p, const EvtVector4R& p4_d1, | ||||
const EvtVector4R& p4_d2, double ampl, double theta, double mass, | const EvtVector4R& p4_d2, double ampl, double theta, double mass, | ||||
vector<EvtFlatteParam>& params | vector<EvtFlatteParam>& params | ||||
// double m1a = 0.0, double m1b = 0.0, double g1 = 0.0, | // double m1a = 0.0, double m1b = 0.0, double g1 = 0.0, | ||||
// double m2a = 0.0, double m2b = 0.0, double g2 = 0.0 | // double m2a = 0.0, double m2b = 0.0, double g2 = 0.0 | ||||
); | ); | ||||
//accessors | //accessors | ||||
//return 4-momenta of the particles involved | //return 4-momenta of the particles involved | ||||
inline const EvtVector4R& p4_p() { return _p4_p; } | inline const EvtVector4R& p4_p() { return m_p4_p; } | ||||
inline const EvtVector4R& p4_d1() { return _p4_d1; } | inline const EvtVector4R& p4_d1() { return m_p4_d1; } | ||||
inline const EvtVector4R& p4_d2() { return _p4_d2; } | inline const EvtVector4R& p4_d2() { return m_p4_d2; } | ||||
//return amplitude | //return amplitude | ||||
inline double amplitude() { return _ampl; } | inline double amplitude() { return m_ampl; } | ||||
//return theta | //return theta | ||||
inline double theta() { return _theta; } | inline double theta() { return m_theta; } | ||||
//return bwm | //return bwm | ||||
inline double mass() { return _mass; } | inline double mass() { return m_mass; } | ||||
//functions | //functions | ||||
//calculate amplitude for this resonance | //calculate amplitude for this resonance | ||||
EvtComplex resAmpl(); | EvtComplex resAmpl(); | ||||
private: | private: | ||||
inline EvtComplex sqrtCplx( double in ) | inline EvtComplex sqrtCplx( double in ) | ||||
{ | { | ||||
return ( in > 0 ) ? EvtComplex( sqrt( in ), 0 ) | return ( in > 0 ) ? EvtComplex( sqrt( in ), 0 ) | ||||
: EvtComplex( 0, sqrt( -in ) ); | : EvtComplex( 0, sqrt( -in ) ); | ||||
} | } | ||||
EvtVector4R _p4_p, _p4_d1, _p4_d2; | EvtVector4R m_p4_p, m_p4_d1, m_p4_d2; | ||||
double _ampl, _theta, _mass; | double m_ampl, m_theta, m_mass; | ||||
vector<EvtFlatteParam> _params; | vector<EvtFlatteParam> m_params; | ||||
// double _m1a, _m1b, _g1; | // double m_m1a, m_m1b, m_g1; | ||||
// double _m2a, _m2b, _g2; | // double m_m2a, m_m2b, m_g2; | ||||
}; | }; | ||||
#endif | #endif |