TKnFormFactor Class Reference

#include <TKnFormFactor.h>

Inheritance diagram for TKnFormFactor:

TFormFactor List of all members.

Public Member Functions

 TKnFormFactor ()
 ~TKnFormFactor ()
void SetUnitFF ()
void SetDefaultFF ()
bool GetFFMode ()
void SetNpoints (const unsigned int &i)
void Init ()
void Init (const double &)
std::complex< double > Eval (const double &s)
void Print ()

Protected Member Functions

std::complex< double > ff (const double &)

Protected Attributes

unsigned int fNp
TRadSplinefsvsr
TRadSplinefsvsi
bool fUnitFF

Detailed Description

Definition at line 7 of file TKnFormFactor.h.


Constructor & Destructor Documentation

TKnFormFactor::TKnFormFactor (  ) 

Definition at line 37 of file TKnFormFactor.C.

00037 :TFormFactor(){}

TKnFormFactor::~TKnFormFactor (  ) 

Definition at line 39 of file TKnFormFactor.C.

00039 {}


Member Function Documentation

std::complex<double> TFormFactor::Eval ( const double &  s  )  [inline, inherited]

Definition at line 23 of file TFormFactor.h.

References TRadSpline::Eval(), TFormFactor::fsvsi, TFormFactor::fsvsr, and TFormFactor::fUnitFF.

Referenced by TPiCrossPart::BornShift(), isr(), main(), TFormFactor::Print(), TPiCrossPart::R_Gamma(), TPiCrossPart::R_Gamma_kuraev_eidelman(), and TPiCrossPart::R_Gamma_t().

00023                                                   {
00024     if(fUnitFF) return std::complex<double>(1,0);
00025     return std::complex<double>(fsvsr->Eval(s),fsvsi->Eval(s));
00026   }

std::complex< double > TKnFormFactor::ff ( const double &   )  [protected, virtual]

Implements TFormFactor.

Definition at line 41 of file TKnFormFactor.C.

00041                                                    {
00042   return std::complex<double>(1,0);
00043 }

bool TFormFactor::GetFFMode (  )  [inline, inherited]

Definition at line 19 of file TFormFactor.h.

References TFormFactor::fUnitFF.

00019 {return fUnitFF;}

void TFormFactor::Init ( const double &   )  [inherited]

Definition at line 30 of file TFormFactor.C.

References TFormFactor::ff(), TFormFactor::fNp, TFormFactor::fsvsi, TFormFactor::fsvsr, TRadGlobal::Get_MF2(), TRadGlobal::Get_s(), gGlobal, genRecEmupikp::i, imag(), and s.

00030                                         {
00031   double *s     = new double[fNp];
00032   double *re_vs = new double[fNp];
00033   double *im_vs = new double[fNp];
00034   /*  
00035   for(int i = 1;i<=1;i++){
00036     double en = 500 + i;
00037     std::complex<double> form = ff(pow(2*en,2));
00038     std::cout<< en << " " << form<<" "<<std::abs(form*std::conj(form))<<std::endl;
00039   }
00040   exit(0);
00041   */
00042   double smin = gGlobal->Get_MF2()*gGlobal->Get_s();
00043   double ds = (smax-smin)/(fNp-1);
00044   for(unsigned int i=0; i<fNp; i++){
00045     s[i] = smin + i*ds;
00046     std::complex<double> vs = ff( (i>0) ? s[i] : smin + 0.01*ds);
00047     //    std::cout<<i<<" "<<s[i]<<" "<<vs<<std::endl;
00048     re_vs[i] = std::real(vs);
00049     im_vs[i] = std::imag(vs);
00050   }
00051 
00052   if(fsvsr) delete fsvsr;
00053   fsvsr = new TRadSpline3("vsr", s, re_vs, fNp);
00054 
00055   if(fsvsi) delete fsvsi;
00056   fsvsi = new TRadSpline3("vsi", s, im_vs, fNp);
00057 
00058   delete [] re_vs;
00059   delete [] im_vs;
00060   delete [] s;
00061 }

void TFormFactor::Init (  )  [inherited]

Definition at line 21 of file TFormFactor.C.

References TRadGlobal::Get_s(), and gGlobal.

Referenced by TPiCrossPart::Init(), and main().

00021                       {
00022 #ifndef ALONE
00023   double smax = gGlobal->Get_s();
00024 #else
00025   double smax = 4*800*800;
00026 #endif
00027   Init(smax);
00028 }

void TFormFactor::Print (  )  [inherited]

Definition at line 63 of file TFormFactor.C.

References abs, conj(), TFormFactor::Eval(), TRadGlobal::Get_s(), and gGlobal.

00063                        {
00064 #ifndef ALONE
00065   std::complex<double> form = Eval(gGlobal->Get_s());
00066 #else
00067   std::complex<double> form = Eval(4*200*200);
00068 #endif
00069   std::cout<<"Formfactor is "<<form<<std::endl;
00070   std::cout<<"Squared formfactor is "<<std::abs(form*std::conj(form))<<std::endl;
00071   std::cout<<std::flush;
00072 }

void TFormFactor::SetDefaultFF (  )  [inline, inherited]

Definition at line 18 of file TFormFactor.h.

References TFormFactor::fUnitFF.

Referenced by TPiCrossPart::Init().

00018 {fUnitFF = false;}

void TFormFactor::SetNpoints ( const unsigned int &  i  )  [inline, inherited]

Definition at line 20 of file TFormFactor.h.

References TFormFactor::fNp.

00020 {fNp = i;}

void TFormFactor::SetUnitFF (  )  [inline, inherited]

Definition at line 17 of file TFormFactor.h.

References TFormFactor::fUnitFF.

Referenced by TPiCrossPart::Init(), and main().

00017 {fUnitFF = true;}


Member Data Documentation

unsigned int TFormFactor::fNp [protected, inherited]

Definition at line 9 of file TFormFactor.h.

Referenced by TFormFactor::Init(), TFormFactor::SetNpoints(), and TFormFactor::TFormFactor().

TRadSpline* TFormFactor::fsvsi [protected, inherited]

Definition at line 11 of file TFormFactor.h.

Referenced by TFormFactor::Eval(), TFormFactor::Init(), TFormFactor::TFormFactor(), and TFormFactor::~TFormFactor().

TRadSpline* TFormFactor::fsvsr [protected, inherited]

Definition at line 10 of file TFormFactor.h.

Referenced by TFormFactor::Eval(), TFormFactor::Init(), TFormFactor::TFormFactor(), and TFormFactor::~TFormFactor().

bool TFormFactor::fUnitFF [protected, inherited]

Definition at line 12 of file TFormFactor.h.

Referenced by TFormFactor::Eval(), TFormFactor::GetFFMode(), TFormFactor::SetDefaultFF(), TFormFactor::SetUnitFF(), and TFormFactor::TFormFactor().


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