74 {
75
76
79
81 EvtId other_b;
82
84
85 EvtComplex G0P,G1P,G1M;
86
90
92
95
96 EvtComplex cG0P,cG1P,cG1M;
97
100 static double ctau=ctauL<ctauH?ctauH:ctauL;
101
102
103
104
105 double pt=1;
106 double mt=
exp(-fabs(
t*(ctauL-ctauH)/(ctauL*ctauH)));
107
108 if (other_b==BSB){
109 cG0P=pt*G0P*(cdmt+lambda_km*EvtComplex(0.0,
getArg(2)*sdmt));
110 cG1P=pt*G1P*(cdmt+lambda_km*EvtComplex(0.0,
getArg(2)*sdmt));
111 cG1M=mt*G1M*(cdmt-lambda_km*EvtComplex(0.0,
getArg(2)*sdmt));
112 }
113 else if (other_b==BS0){
114 cG0P=pt*G0P*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,
getArg(2)*sdmt));
115 cG1P=pt*G1P*(cdmt+(1.0/lambda_km)*EvtComplex(0.0,
getArg(2)*sdmt));
116 cG1M=-mt*G1M*(cdmt-(1.0/lambda_km)*EvtComplex(0.0,
getArg(2)*sdmt));
117 }
118 else{
119 report(
ERROR,
"EvtGen") <<
"other_b was not BSB or BS0!"<<endl;
120 ::abort();
121 }
122
123 EvtComplex A0,AP,AM;
124
125 A0=cG0P/sqrt(2.0);
126 AP=(cG1P+cG1M)/sqrt(2.0);
127 AM=(cG1P-cG1M)/sqrt(2.0);
128
130
131 return ;
132}
double sin(const BesAngle a)
double cos(const BesAngle a)
EvtComplex exp(const EvtComplex &c)
ostream & report(Severity severity, const char *facility)
static void OtherB(EvtParticle *p, double &t, EvtId &otherb)
static EvtId getId(const std::string &name)
static double getctau(EvtId i)
static void SVVHel(EvtParticle *parent, EvtAmp &, EvtId n_v1, EvtId n_v2, const EvtComplex &hp, const EvtComplex &h0, const EvtComplex &hm)