5 #include "GeoModelKernel/GeoElement.h" 8 GeoElement::GeoElement (
const std::string &Name,
const std::string &Symbol,
double Z,
double A)
16 GeoElement::~GeoElement()
21 double GeoElement::getRadTsai()
const 24 const double k1 = 0.0083, k2 = 0.20206, k3 = 0.0020, k4 = 0.0369;
25 double az2 = (GeoModelKernelUnits::fine_structure_const*m_z)*(GeoModelKernelUnits::fine_structure_const*m_z);
26 double az4 = az2 * az2;
28 double coulomb = (k1*az4 + k2 + 1./(1.+az2))*az2 - (k3*az4 + k4)*az4;
31 const double Lrad_light[] = {5.31, 4.79, 4.74, 4.71};
32 const double Lprad_light[] = {6.144, 5.621, 5.805, 5.924};
34 const double logZ3 = std::log(m_z) * (1./3);
37 int iz = (int)(m_z+0.5) - 1 ;
39 Lrad = Lrad_light[iz];
40 Lprad = Lprad_light[iz];
42 Lrad = std::log(184.15) - logZ3;
43 Lprad = std::log(1194.) - 2*logZ3;
46 double radTsai = 4*GeoModelKernelUnits::alpha_rcl2*m_z*(m_z*(Lrad-coulomb) + Lprad);