31 numSLBKPoleargs = numarg;
32 for (
int i = 0; i < numarg; i++ ) { SLBKPoleargs[i] = arglist[i]; }
38 double* fpf,
double* f0f ) {
43 if ( numSLBKPoleargs != 4 )
45 report(
ERROR,
"EvtGen" ) <<
"Problem in EvtSLBKPoleFF::getscalarff\n";
46 report(
ERROR,
"EvtGen" ) <<
"wrong number of arguments!\n";
47 report(
ERROR,
"EvtGen" ) <<
"number args:" << numSLBKPoleargs <<
" (expected 4)\n";
59 double mass_star2 = SLBKPoleargs[3] * SLBKPoleargs[3];
61 *fpf = f0 / ( pow( 1.0 - ( 1.0 + af ) * (
t / mass_star2 ) +
62 ( af * ( (
t / mass_star2 ) * (
t / mass_star2 ) ) ),
70 *f0f = f0 / ( pow( 1.0 - (
t / mass_star2 / af ), powf ) );
76 double* a1f,
double* a2f,
double* vf,
double* a0f ) {
78 if ( numSLBKPoleargs != 8 )
80 report(
ERROR,
"EvtGen" ) <<
"Problem in EvtSLBKPoleFF::getvectorff\n";
81 report(
ERROR,
"EvtGen" ) <<
"wrong number of arguements!!!\n";
82 report(
ERROR,
"EvtGen" ) << numSLBKPoleargs <<
"\n";
86 report(
INFO,
"EvtGen" ) <<
"Check the implementation of EvtSLBKPoleFF::getvectorff()!\n";
115 if ( parent == B0 || parent == B0B )
118 mass_star2 = mass_star * mass_star;
120 if ( parent == BP || parent == BM )
123 mass_star2 = mass_star * mass_star;
128 mass_star2 = mass_star * mass_star;
131 if ( parent == D0 || parent == D0B )
134 mass_star2 = mass_star * mass_star;
136 if ( parent == DP || parent == DM )
139 mass_star2 = mass_star * mass_star;
141 if ( parent == DSP || parent == DSM )
144 mass_star2 = mass_star * mass_star;
148 double f0, af, bf, powf;
150 f0 = SLBKPoleargs[2];
151 af = SLBKPoleargs[6];
154 *a1f = f0 / ( pow( 1.0 - af *
t / mass_star2, powf ) );
156 f0 = SLBKPoleargs[3];
157 af = SLBKPoleargs[6];
158 bf = SLBKPoleargs[7];
161 *a2f = f0 / ( pow( 1.0 - ( af + bf ) * (
t / mass_star2 ) +
162 ( af * bf ) * ( (
t / mass_star2 ) * (
t / mass_star2 ) ),
165 f0 = SLBKPoleargs[0];
166 af = SLBKPoleargs[4];
170 *vf = f0 / ( pow( 1.0 - ( 1.0 + af ) * (
t / mass_star2 ) +
171 af * (
t / mass_star2 ) * (
t / mass_star2 ),
174 f0 = SLBKPoleargs[1];
175 af = SLBKPoleargs[5];
179 *a0f = f0 / ( pow( 1.0 - ( 1.0 + af ) * (
t / mb2 ) + af * ( (
t / mb2 ) * (
t / mb2 ) ),
185 double* kf,
double* bpf,
double* bmf ) {
187 if ( numSLBKPoleargs != 16 )
189 report(
ERROR,
"EvtGen" ) <<
"Problem in EvtSLBKPoleFF::gettensorff\n";
190 report(
ERROR,
"EvtGen" ) <<
"wrong number of arguements!!!\n";
193 report(
INFO,
"EvtGen" ) <<
"Check the implementation of EvtSLBKPoleFF::gettensorff()!\n";
196 double mb2 = mb * mb;
198 double f0, af, bf, powf;
200 f0 = SLBKPoleargs[0];
201 af = SLBKPoleargs[1];
202 bf = SLBKPoleargs[2];
203 powf = SLBKPoleargs[3];
204 *hf = f0 / ( pow( 1.0 + ( af *
t / mb2 ) + ( bf * ( (
t / mb2 ) * (
t / mb2 ) ) ), powf ) );
206 f0 = SLBKPoleargs[4];
207 af = SLBKPoleargs[5];
208 bf = SLBKPoleargs[6];
209 powf = SLBKPoleargs[7];
211 *kf = f0 / ( pow( 1.0 + ( af *
t / mb2 ) + ( bf * ( (
t / mb2 ) * (
t / mb2 ) ) ), powf ) );
213 f0 = SLBKPoleargs[8];
214 af = SLBKPoleargs[9];
215 bf = SLBKPoleargs[10];
216 powf = SLBKPoleargs[11];
218 *bpf = f0 / ( pow( 1.0 + ( af *
t / mb2 ) + ( bf * ( (
t / mb2 ) * (
t / mb2 ) ) ), powf ) );
220 f0 = SLBKPoleargs[12];
221 af = SLBKPoleargs[13];
222 bf = SLBKPoleargs[14];
223 powf = SLBKPoleargs[15];
225 *bmf = f0 / ( pow( 1.0 + ( af *
t / mb2 ) + ( bf * ( (
t / mb2 ) * (
t / mb2 ) ) ), powf ) );
232 report(
ERROR,
"EvtGen" ) <<
"Not implemented :getbaryonff in EvtSLBKPoleFF.\n";
ostream & report(Severity severity, const char *facility)
static double getMeanMass(EvtId i)
static std::string name(EvtId i)
static EvtId getId(const std::string &name)
void gettensorff(EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bp, double *bm)
void getvectorff(EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
EvtSLBKPoleFF(int numarg, double *arglist)
void getbaryonff(EvtId, EvtId, double, double, double *, double *, double *, double *)
void getscalarff(EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f)