EvtSLPoleFF Class Reference

#include <EvtSLPoleFF.hh>

Inheritance diagram for EvtSLPoleFF:

EvtSemiLeptonicFF List of all members.

Public Member Functions

 EvtSLPoleFF (int numarg, double *arglist)
void getscalarff (EvtId parent, EvtId daught, double t, double mass, double *fpf, double *f0f)
void getvectorff (EvtId parent, EvtId daught, double t, double mass, double *a1f, double *a2f, double *vf, double *a0f)
void gettensorff (EvtId parent, EvtId daught, double t, double mass, double *hf, double *kf, double *bp, double *bm)
virtual void getbaryonff (EvtId parent, EvtId daught, double t, double m_meson, double *f1v, double *f1a, double *f2v, double *f2a)

Private Attributes

int numSLPoleargs
double SLPoleargs [16]

Detailed Description

Definition at line 27 of file EvtSLPoleFF.hh.


Constructor & Destructor Documentation

EvtSLPoleFF::EvtSLPoleFF ( int  numarg,
double *  arglist 
)

Definition at line 30 of file EvtSLPoleFF.cc.

References genRecEmupikp::i, numSLPoleargs, and SLPoleargs.

00030                                                     {
00031    numSLPoleargs = numarg;
00032    for (int i=0; i<numarg; i++) {
00033      SLPoleargs[i] = arglist[i]; }
00034 
00035    return;
00036 }


Member Function Documentation

virtual void EvtSemiLeptonicFF::getbaryonff ( EvtId  parent,
EvtId  daught,
double  t,
double  m_meson,
double *  f1v,
double *  f1a,
double *  f2v,
double *  f2a 
) [inline, virtual, inherited]

Reimplemented in EvtISGW2FF, EvtKKLambdaCFF, and EvtSLBKPoleFF.

Definition at line 41 of file EvtSemiLeptonicFF.hh.

Referenced by EvtSemiLeptonicBaryonAmp::CalcAmp().

00047                                         {return;}

void EvtSLPoleFF::getscalarff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  fpf,
double *  f0f 
) [virtual]

Reimplemented from EvtSemiLeptonicFF.

Definition at line 39 of file EvtSLPoleFF.cc.

References calibUtil::ERROR, EvtPDL::getMeanMass(), numSLPoleargs, report(), and SLPoleargs.

00041                                           {
00042 
00043 // Form factors have a general form, with parameters passed in
00044 // from the arguements.
00045 
00046    if ( numSLPoleargs !=8 ) {
00047      report(ERROR,"EvtGen") << "Problem in EvtSLPoleFF::getscalarff\n";
00048      report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
00049    }
00050 
00051   double mb=EvtPDL::getMeanMass(parent);
00052   double mb2 = mb*mb;
00053 
00054   double f0,af,bf,powf;
00055 
00056   f0 = SLPoleargs[0];
00057   af = SLPoleargs[1];
00058   bf = SLPoleargs[2];
00059   powf = SLPoleargs[3];
00060   *fpf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00061 
00062   f0 = SLPoleargs[4];
00063   af = SLPoleargs[5];
00064   bf = SLPoleargs[6];
00065   powf = SLPoleargs[7];
00066 
00067   *f0f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf)); 
00068 
00069   return;
00070 }

void EvtSLPoleFF::gettensorff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  hf,
double *  kf,
double *  bp,
double *  bm 
) [virtual]

Reimplemented from EvtSemiLeptonicFF.

Definition at line 118 of file EvtSLPoleFF.cc.

References calibUtil::ERROR, EvtPDL::getMeanMass(), numSLPoleargs, report(), and SLPoleargs.

00120                                                                    {
00121 
00122   if ( numSLPoleargs !=16 ) {
00123      report(ERROR,"EvtGen") << "Problem in EvtSLPoleFF::gettensorff\n";
00124      report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
00125   }
00126 
00127   double mb=EvtPDL::getMeanMass(parent);
00128   double mb2 = mb*mb;
00129 
00130   double f0,af,bf,powf;
00131 
00132   f0 = SLPoleargs[0];
00133   af = SLPoleargs[1];
00134   bf = SLPoleargs[2];
00135   powf = SLPoleargs[3];
00136   *hf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00137 
00138   f0 = SLPoleargs[4];
00139   af = SLPoleargs[5];
00140   bf = SLPoleargs[6];
00141   powf = SLPoleargs[7];
00142 
00143   *kf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00144 
00145   f0 = SLPoleargs[8];
00146   af = SLPoleargs[9];
00147   bf = SLPoleargs[10];
00148   powf = SLPoleargs[11];
00149 
00150   *bpf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00151 
00152   f0 = SLPoleargs[12];
00153   af = SLPoleargs[13];
00154   bf = SLPoleargs[14];
00155   powf = SLPoleargs[15];
00156 
00157   *bmf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00158   return;
00159  }

void EvtSLPoleFF::getvectorff ( EvtId  parent,
EvtId  daught,
double  t,
double  mass,
double *  a1f,
double *  a2f,
double *  vf,
double *  a0f 
) [virtual]

Reimplemented from EvtSemiLeptonicFF.

Definition at line 72 of file EvtSLPoleFF.cc.

References calibUtil::ERROR, EvtPDL::getMeanMass(), numSLPoleargs, report(), and SLPoleargs.

00074                                                                    {
00075 
00076   if ( numSLPoleargs !=16 ) {
00077      report(ERROR,"EvtGen") << "Problem in EvtSLPoleFF::getvectorff\n";
00078      report(ERROR,"EvtGen") << "wrong number of arguements!!!\n";
00079      report(ERROR,"EvtGen") << numSLPoleargs<<"\n";
00080   }
00081 
00082   double mb=EvtPDL::getMeanMass(parent);
00083   double mb2 = mb*mb;
00084 
00085   double f0,af,bf,powf;
00086 
00087   f0 = SLPoleargs[0];
00088   af = SLPoleargs[1];
00089   bf = SLPoleargs[2];
00090   powf = SLPoleargs[3];
00091   *a1f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00092 
00093   f0 = SLPoleargs[4];
00094   af = SLPoleargs[5];
00095   bf = SLPoleargs[6];
00096   powf = SLPoleargs[7];
00097 
00098   *a2f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00099 
00100   f0 = SLPoleargs[8];
00101   af = SLPoleargs[9];
00102   bf = SLPoleargs[10];
00103   powf = SLPoleargs[11];
00104 
00105   *vf = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00106 
00107   f0 = SLPoleargs[12];
00108   af = SLPoleargs[13];
00109   bf = SLPoleargs[14];
00110   powf = SLPoleargs[15];
00111 
00112   *a0f = f0/(pow( 1.0 + (af*t/mb2) + (bf*((t/mb2)*(t/mb2))),powf));
00113   return;
00114  }


Member Data Documentation

int EvtSLPoleFF::numSLPoleargs [private]

Definition at line 42 of file EvtSLPoleFF.hh.

Referenced by EvtSLPoleFF(), getscalarff(), gettensorff(), and getvectorff().

double EvtSLPoleFF::SLPoleargs[16] [private]

Definition at line 43 of file EvtSLPoleFF.hh.

Referenced by EvtSLPoleFF(), getscalarff(), gettensorff(), and getvectorff().


Generated on Tue Nov 29 23:19:24 2016 for BOSS_7.0.2 by  doxygen 1.4.7