128 {
129
130
133
135 EvtId other_b;
136 EvtId daugs[2];
137
138
139 int flip = ( ( p->
getId() == B0 ) ? 0 : 1 );
143
145
146 EvtComplex amp[3];
147
150 EvtComplex ePlusIPhi(
cos( phiCKM ),
sin( phiCKM ) );
151 EvtComplex eMinusIPhi(
cos( -phiCKM ),
sin( -phiCKM ) );
152
153
154
155
156 if ( !flip )
157 {
158 if ( other_b == B0B )
159 {
160
161 for ( int i = 0; i < 3; ++i )
162 {
163 amp[i] =
164 _A_f[i] *
cos( dmt2 ) + eMinusIPhi * EvtComplex( 0.0,
sin( dmt2 ) ) * _A_f[i + 3];
165 }
166 }
167 if ( other_b == B0 )
168 {
169
170 for ( int i = 0; i < 3; ++i )
171 {
172 amp[i] =
173 _A_f[i] * ePlusIPhi * EvtComplex( 0.0,
sin( dmt2 ) ) + _A_f[i + 3] *
cos( dmt2 );
174 }
175 }
176 }
177 else
178 {
179 if ( other_b == B0B )
180 {
181
182
183
184
185
186
187
188
189 for ( int i = 0; i < 3; ++i )
190 {
191 amp[i] = _A_f[8 - i] *
cos( dmt2 ) +
192 eMinusIPhi * EvtComplex( 0.0,
sin( dmt2 ) ) * _A_f[11 - i];
193 }
194 }
195 if ( other_b == B0 )
196 {
197
198 for ( int i = 0; i < 3; ++i )
199 {
200 amp[i] = _A_f[8 - i] * ePlusIPhi * EvtComplex( 0.0,
sin( dmt2 ) ) +
201 _A_f[11 - i] *
cos( dmt2 );
202 }
203 }
204 }
205
207
208 return;
209}
double sin(const BesAngle a)
double cos(const BesAngle a)
static void OtherB(EvtParticle *p, double &t, EvtId &otherb)
static EvtId getId(const std::string &name)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
static void SVVHel(EvtParticle *parent, EvtAmp &, EvtId n_v1, EvtId n_v2, const EvtComplex &hp, const EvtComplex &h0, const EvtComplex &hm)