#include <EvtSLPoleFF.hh>
Inheritance diagram for EvtSLPoleFF:
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] |
Definition at line 27 of file EvtSLPoleFF.hh.
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 }
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().
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 }
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().