TKFun Class Reference

#include <TKFun.h>

List of all members.

Public Member Functions

 TKFun ()
 TKFun (const double &)
virtual ~TKFun ()
virtual void Init ()
virtual void Init (const double &)
virtual double kfun (const double &x)
virtual double Eval (const double &x)
virtual double Eval (const double &z1, const double &z2, const double &c)

Protected Attributes

double fxmin
double fxmax
TRadSplinefk


Detailed Description

Definition at line 8 of file TKFun.h.


Constructor & Destructor Documentation

TKFun::TKFun (  ) 

Definition at line 36 of file TKFun.C.

References fk, TRadGlobal::Get_ThetaMin(), gGlobal, Init(), and kjr.

00036             {
00037   fk = NULL;
00038   kjr = this;
00039   Init(gGlobal->Get_ThetaMin());
00040 }

TKFun::TKFun ( const double &   ) 

Definition at line 54 of file TKFun.C.

References fk, Init(), and kjr.

00054                                {
00055   fk = NULL;
00056   kjr = this;
00057   Init(theta);
00058 }

TKFun::~TKFun (  )  [virtual]

Definition at line 60 of file TKFun.C.

References fk.

00060              {
00061   delete fk;
00062 }


Member Function Documentation

virtual double TKFun::Eval ( const double &  z1,
const double &  z2,
const double &  c 
) [inline, virtual]

Definition at line 22 of file TKFun.h.

References Eval(), and v.

00022                                                                                  {
00023     double v  = (z1-z2)/(z1+z2);
00024     double cs = (c-v)/(1-c*v);
00025     return Eval(cs);
00026   }

virtual double TKFun::Eval ( const double &  x  )  [inline, virtual]

Definition at line 21 of file TKFun.h.

References TRadSpline::Eval(), and fk.

Referenced by Eval().

00021 {return fk->Eval(x);}

void TKFun::Init ( const double &   )  [virtual]

Definition at line 46 of file TKFun.C.

References cos(), fk, fxmax, fxmin, and tkfun().

00046                                    {
00047   fxmin = -cos(theta);
00048   fxmax = cos(theta);
00049   //  TF1 fkfun("kfun",tkfun,fxmin,fxmax,0);
00050   if(fk)delete fk;
00051   fk    = new TRadSpline3("k", fxmin, fxmax, tkfun, 10001);
00052 }

void TKFun::Init (  )  [virtual]

Definition at line 42 of file TKFun.C.

References TRadGlobal::Get_ThetaMin(), and gGlobal.

Referenced by TKFun().

00042                 {
00043   Init(gGlobal->Get_ThetaMin());
00044 }

double TKFun::kfun ( const double &  x  )  [virtual]

Definition at line 8 of file TKFun.C.

References TLi2::Eval(), gConst, and TConstants::Pi2().

00008                                   {
00009   double sa  = sqrt((1.-co)*0.5);
00010   double sa2 = sa*sa;
00011   double ca  = sqrt((1.+co)*0.5);
00012   double ca2 = ca*ca;
00013   double c1  = log(sa);
00014   double c2  = log(ca);
00015   double co2 = co*co;
00016   double co3 = co2*co;
00017   double co4 = co2*co2;
00018   double k = -1. + 2.*TLi2::Eval(ca2) - 2.*TLi2::Eval(sa2)+ 
00019     (gConst->Pi2()/3.*(2.*co4 - 3.*co3 - 15.*co) + 
00020      2*(2*co4 - 3*co3 + 9*co2 + 3*co + 21.)*(c1*c1) -
00021      4.*(co4 + co2 - 2.*co)*c2*c2 - 
00022      4.*(co3 + 4.*co2 + 5.*co + 6.)*(c1-c2)*(c1-c2) +
00023      2.*(co3 - 3.*co2 + 7.*co - 5.)*c2 +
00024      2.*(3.*co3 + 9.*co2 + 5.*co + 31.)*c1)/((3.+co2)*(3.+co2));
00025   return k;
00026 };


Member Data Documentation

TRadSpline* TKFun::fk [protected]

Definition at line 13 of file TKFun.h.

Referenced by Eval(), Init(), TKFun(), and ~TKFun().

double TKFun::fxmax [protected]

Definition at line 11 of file TKFun.h.

Referenced by Init().

double TKFun::fxmin [protected]

Definition at line 10 of file TKFun.h.

Referenced by Init().


Generated on Tue Nov 29 23:36:00 2016 for BOSS_7.0.2 by  doxygen 1.4.7