Changeset View
Changeset View
Standalone View
Standalone View
EvtGenModels/EvtBLLNuLAmp.hh
Show First 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | public: | ||||
// Resonance poles | // Resonance poles | ||||
class ResPole final { | class ResPole final { | ||||
public: | public: | ||||
ResPole( double mass, double width, double coupling ); | ResPole( double mass, double width, double coupling ); | ||||
EvtComplex propagator( double qSq, int numForm = 0 ) const; | EvtComplex propagator( double qSq, int numForm = 0 ) const; | ||||
double getMass() const { return m0_; } | double getMass() const { return m_m0; } | ||||
double getMassSq() const { return m0Sq_; } | double getMassSq() const { return m_m0Sq; } | ||||
double getWidth() const { return w0_; } | double getWidth() const { return m_w0; } | ||||
double getCoupling() const { return c_; } | double getCoupling() const { return m_c; } | ||||
private: | private: | ||||
double m0_; // pole mass | double m_m0; // pole mass | ||||
double m0Sq_; | double m_m0Sq; | ||||
double w0_; // width | double m_w0; // width | ||||
double c_; // coupling constant | double m_c; // coupling constant | ||||
EvtComplex I_; | EvtComplex m_I; | ||||
EvtComplex Imw_; | EvtComplex m_Imw; | ||||
}; | }; | ||||
protected: | protected: | ||||
EvtTensor4C getHadronTensor( const EvtVector4R& q, const EvtVector4R& k, | EvtTensor4C getHadronTensor( const EvtVector4R& q, const EvtVector4R& k, | ||||
const double qSq, const double kSq, | const double qSq, const double kSq, | ||||
const double MB, const int sign ) const; | const double MB, const int sign ) const; | ||||
std::vector<EvtComplex> getVMDTerms( double qSq, double kSq, double MB ) const; | std::vector<EvtComplex> getVMDTerms( double qSq, double kSq, double MB ) const; | ||||
EvtComplex getBStarTerm( double qSq, double kSq, double MB ) const; | EvtComplex getBStarTerm( double qSq, double kSq, double MB ) const; | ||||
double FF_B2Bstar( double qSq ) const; | double FF_B2Bstar( double qSq ) const; | ||||
double FF_V( double kSq ) const; | double FF_V( double kSq ) const; | ||||
double FF_A1( double kSq ) const; | double FF_A1( double kSq ) const; | ||||
double FF_A2( double kSq ) const; | double FF_A2( double kSq ) const; | ||||
private: | private: | ||||
// Kinematic cut-offs | // Kinematic cut-offs | ||||
double qSqMin_; | double m_qSqMin; | ||||
double kSqMin_; | double m_kSqMin; | ||||
// If we have identical charged lepton flavours | // If we have identical charged lepton flavours | ||||
bool symmetry_; | bool m_symmetry; | ||||
// B+, B- Ids | // B+, B- Ids | ||||
EvtId BpId_, BnId_; | EvtId m_BpId, m_BnId; | ||||
// Form factor constants | // Form factor constants | ||||
double coupling_, sqrt2_; | double m_coupling, m_sqrt2; | ||||
double fBu_; | double m_fBu; | ||||
// Resonance poles | // Resonance poles | ||||
EvtBLLNuLAmp::ResPole Bstar_, Upsilon_; | EvtBLLNuLAmp::ResPole m_Bstar, m_Upsilon; | ||||
std::vector<EvtBLLNuLAmp::ResPole> resPoles_; | std::vector<EvtBLLNuLAmp::ResPole> m_resPoles; | ||||
int nPoles_; | int m_nPoles; | ||||
// Complex number constants | // Complex number constants | ||||
EvtComplex zero_, unitI_; | EvtComplex m_zero, m_unitI; | ||||
}; | }; | ||||
inline void EvtBLLNuLAmp::setParameters( double qSqMin, double kSqMin, | inline void EvtBLLNuLAmp::setParameters( double qSqMin, double kSqMin, | ||||
bool symmetry ) | bool symmetry ) | ||||
{ | { | ||||
qSqMin_ = qSqMin; | m_qSqMin = qSqMin; | ||||
kSqMin_ = kSqMin; | m_kSqMin = kSqMin; | ||||
symmetry_ = symmetry; | m_symmetry = symmetry; | ||||
} | } | ||||
#endif | #endif |