71 int bcurrent, wcurrent;
75 bcurrent = (int)
getArg( 0 );
76 wcurrent = (int)
getArg( 1 );
82 p4b.
set( p->
mass(), 0.0, 0.0, 0.0 );
90 double hf, kf, bp, bm;
113 g.
setdiag( 1.0, -1.0, -1.0, -1.0 );
128 g.
setdiag( 1.0, -1.0, -1.0, -1.0 );
143 g.
setdiag( 1.0, -1.0, -1.0, -1.0 );
145 ep_meson_b[0] = ( ( p->
getDaug( 0 )->epsTensorParent( 0 ) ).cont2( p4b ) ).
conj();
146 ep_meson_b[1] = ( ( p->
getDaug( 0 )->epsTensorParent( 1 ) ).cont2( p4b ) ).
conj();
147 ep_meson_b[2] = ( ( p->
getDaug( 0 )->epsTensorParent( 2 ) ).cont2( p4b ) ).
conj();
148 ep_meson_b[3] = ( ( p->
getDaug( 0 )->epsTensorParent( 3 ) ).cont2( p4b ) ).
conj();
149 ep_meson_b[4] = ( ( p->
getDaug( 0 )->epsTensorParent( 4 ) ).cont2( p4b ) ).
conj();
154 ep_meson_bb[0] = ep_meson_b[0] * ( p4b );
155 ep_meson_bb[1] = ep_meson_b[1] * ( p4b );
156 ep_meson_bb[2] = ep_meson_b[2] * ( p4b );
157 ep_meson_bb[3] = ep_meson_b[3] * ( p4b );
158 ep_meson_bb[4] = ep_meson_b[4] * ( p4b );
162 kf * ep_meson_b[0] - bp * ep_meson_bb[0] * pp - bm * ep_meson_bb[0] * pm;
166 kf * ep_meson_b[1] - bp * ep_meson_bb[1] * pp - bm * ep_meson_bb[1] * pm;
170 kf * ep_meson_b[2] - bp * ep_meson_bb[2] * pp - bm * ep_meson_bb[2] * pm;
174 kf * ep_meson_b[3] - bp * ep_meson_bb[3] * pp - bm * ep_meson_bb[3] * pm;
178 kf * ep_meson_b[4] - bp * ep_meson_bb[4] * pp - bm * ep_meson_bb[4] * pm;
184 double f, gf, ap, am;
187 g.
setdiag( 1.0, -1.0, -1.0, -1.0 );
201 jb[0] = fp * ( p4b + p4[0] ) + fm *
q;
203 default:
report(
ERROR,
"EvtGen" ) <<
"In EvtBHadronic, unknown hadronic current." << endl;
222 norm = 1.0 / sqrt( p4[1].get( 0 ) * p4[1].get( 0 ) / p4[1].mass2() - 1.0 );
228 default:
report(
ERROR,
"EvtGen" ) <<
"In EvtBHadronic, unknown W current." << endl;
231 if ( nbcurrent == 1 && nwcurrent == 1 )
237 if ( nbcurrent == 1 )
241 for ( j = 0; j < nwcurrent; j++ )
245 vertex( j, jb[0] * jw[j] );
251 if ( nwcurrent == 1 )
253 for ( j = 0; j < nbcurrent; j++ ) {
vertex( j, jb[j] * jw[0] ); }
257 for ( j = 0; j < nbcurrent; j++ )
259 for ( i = 0; i < nwcurrent; i++ ) {
vertex( j, i, jb[j] * jw[i] ); }
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bpf, double *bmf)
virtual EvtVector4C epsParent(int i) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)