54 double q2 = ( q.
mass2() );
56 double hf, kf, bpf, bmf;
62 double costhl_flag = 1.0;
64 if ( parent->
getId() == D0 || parent->
getId() == D0B ||
65 parent->
getId() == DP || parent->
getId() == DM ) {
68 if ( parent->
getId() == DSP || parent->
getId() == DSM ) {
71 hf = hf * costhl_flag;
74 p4b.
set( parent->
mass(), 0.0, 0.0, 0.0 );
85 ( ( parent->
getDaug( 0 )->epsTensorParent( 0 ) ).cont2( p4b ) ).
conj();
87 ( ( parent->
getDaug( 0 )->epsTensorParent( 1 ) ).cont2( p4b ) ).
conj();
89 ( ( parent->
getDaug( 0 )->epsTensorParent( 2 ) ).cont2( p4b ) ).
conj();
91 ( ( parent->
getDaug( 0 )->epsTensorParent( 3 ) ).cont2( p4b ) ).
conj();
93 ( ( parent->
getDaug( 0 )->epsTensorParent( 4 ) ).cont2( p4b ) ).
conj();
101 double q2max = p4b.
mass2() + p4meson.
mass2() -
103 double q2maxin = 1.0 / q2max;
107 ep_meson_bb[0] = ep_meson_b[0] * ( p4b );
108 ep_meson_bb[1] = ep_meson_b[1] * ( p4b );
109 ep_meson_bb[2] = ep_meson_b[2] * ( p4b );
110 ep_meson_bb[3] = ep_meson_b[3] * ( p4b );
111 ep_meson_bb[4] = ep_meson_b[4] * ( p4b );
116 if ( l_num == EM || l_num == MUM || l_num == TAUM ) {
119 tds0 = tdual.
cont2( ep_meson_b[0] ) - kf * ep_meson_b[0] -
120 bpf * ep_meson_bb[0] * pp - bmf * ep_meson_bb[0] * pm;
123 tds1 = tdual.
cont2( ep_meson_b[1] ) - kf * ep_meson_b[1] -
124 bpf * ep_meson_bb[1] * pp - bmf * ep_meson_bb[1] * pm;
127 tds2 = tdual.
cont2( ep_meson_b[2] ) - kf * ep_meson_b[2] -
128 bpf * ep_meson_bb[2] * pp - bmf * ep_meson_bb[2] * pm;
131 tds3 = tdual.
cont2( ep_meson_b[3] ) - kf * ep_meson_b[3] -
132 bpf * ep_meson_bb[3] * pp - bmf * ep_meson_bb[3] * pm;
135 tds4 = tdual.
cont2( ep_meson_b[4] ) - kf * ep_meson_b[4] -
136 bpf * ep_meson_bb[4] * pp - bmf * ep_meson_bb[4] * pm;
144 if ( l_num == EP || l_num == MUP || l_num == TAUP ) {
147 tds0 = tdual.
cont2( ep_meson_b[0] ) - kf * ep_meson_b[0] -
148 bpf * ep_meson_bb[0] * pp - bmf * ep_meson_bb[0] * pm;
151 tds1 = tdual.
cont2( ep_meson_b[1] ) - kf * ep_meson_b[1] -
152 bpf * ep_meson_bb[1] * pp - bmf * ep_meson_bb[1] * pm;
155 tds2 = tdual.
cont2( ep_meson_b[2] ) - kf * ep_meson_b[2] -
156 bpf * ep_meson_bb[2] * pp - bmf * ep_meson_bb[2] * pm;
159 tds3 = tdual.
cont2( ep_meson_b[3] ) - kf * ep_meson_b[3] -
160 bpf * ep_meson_bb[3] * pp - bmf * ep_meson_bb[3] * pm;
163 tds4 = tdual.
cont2( ep_meson_b[4] ) - kf * ep_meson_b[4] -
164 bpf * ep_meson_bb[4] * pp - bmf * ep_meson_bb[4] * pm;
173 <<
"dfnb89agngri wrong lepton number\n";
177 amp.
vertex( 0, 0, l1 * tds0 );
178 amp.
vertex( 0, 1, l2 * tds0 );
180 amp.
vertex( 1, 0, l1 * tds1 );
181 amp.
vertex( 1, 1, l2 * tds1 );
183 amp.
vertex( 2, 0, l1 * tds2 );
184 amp.
vertex( 2, 1, l2 * tds2 );
186 amp.
vertex( 3, 0, l1 * tds3 );
187 amp.
vertex( 3, 1, l2 * tds3 );
189 amp.
vertex( 4, 0, l1 * tds4 );
190 amp.
vertex( 4, 1, l2 * tds4 );
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(const int i)
virtual void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)=0