Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

EvtBlattWeisskopf Class Reference

#include <EvtBlattWeisskopf.hh>

List of all members.

Public Member Functions

 EvtBlattWeisskopf (const EvtBlattWeisskopf &)
 EvtBlattWeisskopf (int LL, double R, double p0)
double operator() (double p) const
 ~EvtBlattWeisskopf ()

Private Member Functions

double compute (double p) const

Private Attributes

double _F0
int _LL
double _p0
double _radial


Constructor & Destructor Documentation

EvtBlattWeisskopf::EvtBlattWeisskopf int  LL,
double  R,
double  p0
 

00019   : _LL(LL), _radial(R), _p0(p0)
00020 {
00021   if(R < 0) {
00022 
00023     report(INFO,"EvtGen") << "Radius " << R << " negative" << endl;
00024     assert(0);
00025   }
00026 
00027   _radial = R;
00028 
00029   // compute formula for nominal momentum
00030 
00031   _F0 = compute(_p0);
00032   if(_F0 <= 0) {
00033     
00034     report(INFO,"EvtGen") << "Invalid nominal form factor computed " << _F0 << endl;
00035     assert(0);
00036   } 
00037 }

EvtBlattWeisskopf::EvtBlattWeisskopf const EvtBlattWeisskopf  ) 
 

00040   : _LL(other._LL), _radial(other._radial), _p0(other._p0), _F0(other._F0)
00041 {}

EvtBlattWeisskopf::~EvtBlattWeisskopf  ) 
 

00044 {}


Member Function Documentation

double EvtBlattWeisskopf::compute double  p  )  const [private]
 

00066 {
00067   if(p < 0) {
00068     
00069     report(INFO,"EvtGen") << "Momentum " << p << " negative in form factor calculation" << endl;
00070     assert(0);
00071   }
00072   else {
00073     
00074     double x = p*p*_radial*_radial;
00075     
00076     if(0 == _LL) return 1.;
00077     else
00078       if(1 == _LL) return sqrt(1.0/(1.0+x));
00079       else
00080         if(2 == _LL) return sqrt(1.0/(1.0+x/3.0+x*x/9.0));
00081         else {
00082           report(INFO,"EvtGen") << "Angular momentum " << _LL << " not implemented" << endl;
00083           assert(0);
00084         }
00085   }
00086 }

double EvtBlattWeisskopf::operator() double  p  )  const
 

00047 {
00048   double ret = compute(p)/_F0;
00049   //  report(INFO,"EvtGen") << p << " " << _p0 << " " << _F0 << " " << _LL << " " << _radial << " " << ret << endl;
00050   return ret;
00051 }


Member Data Documentation

double EvtBlattWeisskopf::_F0 [private]
 

int EvtBlattWeisskopf::_LL [private]
 

double EvtBlattWeisskopf::_p0 [private]
 

double EvtBlattWeisskopf::_radial [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 16:03:23 2011 for BOSS6.5.5 by  doxygen 1.3.9.1