22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtReport.hh"
24#include "EvtGenModels/EvtSLBKPoleFF.hh"
26#include "EvtGenBase/EvtPDL.hh"
31 numSLBKPoleargs = numarg;
32 for (
int i=0; i<numarg; i++) {
33 SLBKPoleargs[i] = arglist[i]; }
40 double t,
double mass,
double *fpf,
46 if ( numSLBKPoleargs != 4 ) {
47 report(
ERROR,
"EvtGen") <<
"Problem in EvtSLBKPoleFF::getscalarff\n";
48 report(
ERROR,
"EvtGen") <<
"wrong number of arguments!\n";
49 report(
ERROR,
"EvtGen") <<
"number args:"<<numSLBKPoleargs<<
" (expected 4)\n";
63 double mass_star2 = SLBKPoleargs[3]*SLBKPoleargs[3];
65 *fpf = f0/(pow( 1.0 - (1.0+af)*(
t/mass_star2) + (af*((
t/mass_star2)*(
t/mass_star2))),powf));
72 *f0f = f0/(pow( 1.0 - (
t/mass_star2/af),powf));
78 double t,
double mass,
double *a1f,
79 double *a2f,
double *vf,
double *a0f ){
81 if ( numSLBKPoleargs !=8 ) {
82 report(
ERROR,
"EvtGen") <<
"Problem in EvtSLBKPoleFF::getvectorff\n";
83 report(
ERROR,
"EvtGen") <<
"wrong number of arguements!!!\n";
89 report(
INFO,
"EvtGen")<<
"Check the implementation of EvtSLBKPoleFF::getvectorff()!\n";
119 if(parent==B0||parent==B0B){
121 mass_star2=mass_star*mass_star;
123 if(parent==BP||parent==BM){
125 mass_star2=mass_star*mass_star;
129 mass_star2=mass_star*mass_star;
132 if(parent==D0||parent==D0B){
134 mass_star2=mass_star*mass_star;
136 if(parent==DP||parent==DM){
138 mass_star2=mass_star*mass_star;
140 if(parent==DSP||parent==DSM){
142 mass_star2=mass_star*mass_star;
146 double f0,af,bf,powf;
148 f0 = SLBKPoleargs[2];
149 af = SLBKPoleargs[6];
152 *a1f = f0/(pow( 1.0 - af*
t/mass_star2,powf));
154 f0 = SLBKPoleargs[3];
155 af = SLBKPoleargs[6];
156 bf = SLBKPoleargs[7];
159 *a2f = f0/(pow(1.0 - (af+bf)*(
t/mass_star2) + (af*bf)*((
t/mass_star2)*(
t/mass_star2)),powf));
161 f0 = SLBKPoleargs[0];
162 af = SLBKPoleargs[4];
166 *vf = f0/(pow( 1.0 - (1.0+af)*(
t/mass_star2) + af*(
t/mass_star2)*(
t/mass_star2),powf));
168 f0 = SLBKPoleargs[1];
169 af = SLBKPoleargs[5];
173 *a0f = f0/(pow( 1.0 - (1.0+af)*(
t/mb2) + af*((
t/mb2)*(
t/mb2)),powf));
180 double t,
double mass,
double *hf,
181 double *kf,
double *bpf,
double *bmf ){
183 if ( numSLBKPoleargs !=16 ) {
184 report(
ERROR,
"EvtGen") <<
"Problem in EvtSLBKPoleFF::gettensorff\n";
185 report(
ERROR,
"EvtGen") <<
"wrong number of arguements!!!\n";
188 report(
INFO,
"EvtGen")<<
"Check the implementation of EvtSLBKPoleFF::gettensorff()!\n";
193 double f0,af,bf,powf;
195 f0 = SLBKPoleargs[0];
196 af = SLBKPoleargs[1];
197 bf = SLBKPoleargs[2];
198 powf = SLBKPoleargs[3];
199 *hf = f0/(pow( 1.0 + (af*
t/mb2) + (bf*((
t/mb2)*(
t/mb2))),powf));
201 f0 = SLBKPoleargs[4];
202 af = SLBKPoleargs[5];
203 bf = SLBKPoleargs[6];
204 powf = SLBKPoleargs[7];
206 *kf = f0/(pow( 1.0 + (af*
t/mb2) + (bf*((
t/mb2)*(
t/mb2))),powf));
208 f0 = SLBKPoleargs[8];
209 af = SLBKPoleargs[9];
210 bf = SLBKPoleargs[10];
211 powf = SLBKPoleargs[11];
213 *bpf = f0/(pow( 1.0 + (af*
t/mb2) + (bf*((
t/mb2)*(
t/mb2))),powf));
215 f0 = SLBKPoleargs[12];
216 af = SLBKPoleargs[13];
217 bf = SLBKPoleargs[14];
218 powf = SLBKPoleargs[15];
220 *bmf = f0/(pow( 1.0 + (af*
t/mb2) + (bf*((
t/mb2)*(
t/mb2))),powf));
225 double*,
double*,
double*){
227 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)