File indexing completed on 2026-08-06 09:20:08
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021 #ifndef EvtWHad_HH
0022 #define EvtWHad_HH
0023
0024 #include "EvtGenBase/EvtComplex.hh"
0025 #include "EvtGenBase/EvtVector4C.hh"
0026 #include "EvtGenBase/EvtVector4R.hh"
0027
0028 #include <vector>
0029
0030
0031
0032
0033 class EvtWHad {
0034 public:
0035 EvtWHad();
0036
0037 EvtVector4C WCurrent( const EvtVector4R& q1 ) const;
0038
0039 EvtVector4C WCurrent( const EvtVector4R& q1, const EvtVector4R& q2 ) const;
0040
0041 EvtVector4C WCurrent( const EvtVector4R& q1, const EvtVector4R& q2,
0042 const EvtVector4R& q3 ) const;
0043
0044 EvtVector4C WCurrent( const EvtVector4R& q1, const EvtVector4R& q2,
0045 const EvtVector4R& q3, const EvtVector4R& q4,
0046 const EvtVector4R& q5 ) const;
0047
0048 EvtVector4C WCurrent_5pi( const EvtVector4R& q1, const EvtVector4R& q2,
0049 const EvtVector4R& q3, const EvtVector4R& q4,
0050 const EvtVector4R& q5 ) const;
0051
0052 EvtVector4C WCurrent_KKP( const EvtVector4R& pKplus,
0053 const EvtVector4R& pKminus,
0054 const EvtVector4R& pPiPlus ) const;
0055
0056 EvtVector4C WCurrent_KPP( const EvtVector4R& pKplus,
0057 const EvtVector4R& pPiPlus,
0058 const EvtVector4R& pPiMinus ) const;
0059
0060 EvtVector4C WCurrent_KSK( const EvtVector4R& pKS,
0061 const EvtVector4R& pKplus ) const;
0062
0063 EvtVector4C WCurrent_KKPPP( const EvtVector4R& pKplus,
0064 const EvtVector4R& pKminus,
0065 const EvtVector4R& pPi1Plus,
0066 const EvtVector4R& pPi2Plus,
0067 const EvtVector4R& pPiMinus ) const;
0068
0069
0070 EvtVector4C WCurrent_7pi( const EvtVector4R& p1, const EvtVector4R& p2,
0071 const EvtVector4R& p3, const EvtVector4R& p4,
0072 const EvtVector4R& p5, const EvtVector4R& p6,
0073 const EvtVector4R& p7 ) const;
0074
0075
0076 EvtVector4C WCurrent_K4pi( const EvtVector4R& p1, const EvtVector4R& p2,
0077 const EvtVector4R& p3, const EvtVector4R& p4,
0078 const EvtVector4R& p5 ) const;
0079
0080 protected:
0081 EvtVector4C JB( const EvtVector4R& q1, const EvtVector4R& q2,
0082 const EvtVector4R& q3, const EvtVector4R& q4,
0083 const EvtVector4R& q5 ) const;
0084 EvtComplex Den( double q, double mR, double gammaR, double gR ) const;
0085
0086 EvtComplex BWa( const EvtVector4R& q ) const;
0087
0088 EvtComplex BWf( const EvtVector4R& q ) const;
0089
0090 EvtComplex BWr( const EvtVector4R& q ) const;
0091
0092 EvtComplex BWKK( double s, int i ) const;
0093
0094 double pi3G( double Q2 ) const;
0095
0096 EvtComplex pcm( double s ) const;
0097
0098 EvtComplex BW( double s, double m, double gamma, double xm1,
0099 double xm2 ) const;
0100
0101 EvtVector4C WCurrent_KKPPP_nosym( const EvtVector4R& pKplus,
0102 const EvtVector4R& pKminus,
0103 const EvtVector4R& pPi1Plus,
0104 const EvtVector4R& pPi2Plus,
0105 const EvtVector4R& pPiMinus ) const;
0106
0107
0108 EvtVector4C WCurrent_7pi_nosymm( const EvtVector4R& p1, const EvtVector4R& p2,
0109 const EvtVector4R& p3, const EvtVector4R& p4,
0110 const EvtVector4R& p5, const EvtVector4R& p6,
0111 const EvtVector4R& p7 ) const;
0112
0113
0114 EvtVector4C WCurrent_K4pi_nosymm( const EvtVector4R& p1,
0115 const EvtVector4R& p2,
0116 const EvtVector4R& p3,
0117 const EvtVector4R& p4,
0118 const EvtVector4R& p5 ) const;
0119
0120 private:
0121 std::vector<double> mRho_, gamma0_, cK_, mK_, gammaK_, gKRho_, gKPi_;
0122 double mPi_, mPiSq_;
0123 };
0124
0125 #endif