Fast implementation of class JRadiation.  
 More...
#include <JRadiationSource.hh>
 | 
| virtual double  | IntegralofG (const double E, const double eps) const  | 
|   | 
| double  | GofZEvrho (const double E, const double v, const double r) const  | 
|   | 
Fast implementation of class JRadiation. 
In this, the methods
JRadiation::TotalCrossSectionEErad(...), JRadiation::TotalCrossSectionGNrad(...) and JRadiation::IntegralofG(...)
are replaced by lookup tables. 
Definition at line 35 of file JRadiationSource.hh.
 
  
  
      
        
          | JPHYSICS::JRadiationFunction::JRadiationFunction  | 
          ( | 
          const JRadiation &  | 
          radiation,  | 
         
        
           | 
           | 
          const unsigned int  | 
          number_of_bins,  | 
         
        
           | 
           | 
          const double  | 
          Emin,  | 
         
        
           | 
           | 
          const double  | 
          Emax  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlineexplicit   | 
  
 
Constructor. 
- Parameters
 - 
  
    | radiation | JRadiation object  | 
    | number_of_bins | number of bins  | 
    | Emin | minimal muon energy [GeV]  | 
    | Emax | maximal muon energy [GeV]  | 
  
   
Acoeff 
Definition at line 52 of file JRadiationSource.hh.
   58       using namespace JTOOLS;
 
   60       const double xmin = log(Emin);
 
   61       const double xmax = log(Emax);
 
   68         const double x    = i->getX();
 
   69         const double E    = 
exp(x);
 
   72         const double ymax = 0.0;
 
   76           i->getY().configure(
make_grid(number_of_bins, ymin, ymax));
 
   80             const double y   = 
j->getX();
 
   81             const double eps = 
exp(y) * 
E;
 
   97         const double E = 
exp(i->getX());
 
  110         const double E = 
exp(i->getX());
 
  123         const double E = 
exp(i->getX());
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
JRadiation(const double z, const double a, const int integrsteps, const double eminBrems, const double eminEErad, const double eminGNrad)
Constructor. 
 
virtual double TotalCrossSectionEErad(const double E) const 
Pair production cross section. 
 
virtual double CalculateACoeff(double Energy) const 
Ionization a parameter. 
 
virtual double IntegralofG(const double E, const double eps) const 
 
virtual double TotalCrossSectionGNrad(const double E) const 
Photo-nuclear cross section. 
 
 
 
 
  
  
      
        
          | virtual double JPHYSICS::JRadiationFunction::TotalCrossSectionEErad  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineoverridevirtual   | 
  
 
Pair production cross section. 
- Parameters
 - 
  
  
 
- Returns
 - cross section [m^2/g] 
 
Reimplemented from JPHYSICS::JRadiation.
Definition at line 140 of file JRadiationSource.hh.
  142       const double x = log(
E);
 
  144       if (x >= 
sigmaEE. begin()->getX() &&
 
  145           x <= 
sigmaEE.rbegin()->getX()) {
 
  150         catch(std::exception& error) {
 
  151           std::cerr << 
"JRadiation::TotalCrossSectionEErad() " << 
E << 
' ' << error.what() << std::endl;
 
virtual double TotalCrossSectionEErad(const double E) const 
Pair production cross section. 
 
 
 
 
  
  
      
        
          | virtual double JPHYSICS::JRadiationFunction::CalculateACoeff  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineoverridevirtual   | 
  
 
A Coefficient. 
- Parameters
 - 
  
  
 
- Returns
 - Ionization A parameter [GeV/m] 
 
Reimplemented from JPHYSICS::JRadiation.
Definition at line 163 of file JRadiationSource.hh.
  165     const double x = log(
E);
 
  167     if (x >= 
Acoeff. begin()->getX() &&
 
  168         x <= 
Acoeff.rbegin()->getX()) {
 
  173       catch(std::exception& error) {
 
  174         std::cerr << 
"JRadiation::ACoeff() " << 
E << 
' ' << error.what() << std::endl;
 
virtual double CalculateACoeff(double Energy) const 
Ionization a parameter. 
 
 
 
 
  
  
      
        
          | virtual double JPHYSICS::JRadiationFunction::TotalCrossSectionGNrad  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineoverridevirtual   | 
  
 
Photo-nuclear cross section. 
- Parameters
 - 
  
  
 
- Returns
 - cross section [m^2/g] 
 
Reimplemented from JPHYSICS::JRadiation.
Definition at line 187 of file JRadiationSource.hh.
  189       const double x = log(
E);
 
  191       if (x >= 
sigmaGN. begin()->getX() &&
 
  192           x <= 
sigmaGN.rbegin()->getX()) {
 
  197         catch(std::exception& error) {
 
  198           std::cerr << 
"JRadiation::TotalCrossSectionGNrad() " << 
E << 
' ' << error.what() << std::endl;
 
virtual double TotalCrossSectionGNrad(const double E) const 
Photo-nuclear cross section. 
 
 
 
 
  
  
      
        
          | virtual double JPHYSICS::JRadiationFunction::IntegralofG  | 
          ( | 
          const double  | 
          E,  | 
         
        
           | 
           | 
          const double  | 
          eps  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inlineprotectedvirtual   | 
  
 
Reimplemented from JPHYSICS::JRadiation.
Definition at line 206 of file JRadiationSource.hh.
  211         const double x = log(
E); 
 
  212         const double y = log(eps/
E); 
 
  217       catch(std::exception& error) {
 
  218         std::cerr << 
"JRadiation::IntegralofG() " << 
E << 
' ' << eps << 
' ' << error.what() << std::endl;
 
virtual double IntegralofG(const double E, const double eps) const 
 
 
 
 
  
  
      
        
          | double JPHYSICS::JRadiation::SigmaEErad  | 
          ( | 
          const double  | 
          E,  | 
         
        
           | 
           | 
          const double  | 
          eps  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inlineinherited   | 
  
 
Pair production cross section. 
- Parameters
 - 
  
    | E | muon energy [GeV]  | 
    | eps | shower energy [GeV]  | 
  
   
- Returns
 - cross section [m^2/g] 
 
Definition at line 77 of file JRadiation.hh.
   83       if(eps>
E-0.75*
exp(1.0)*
pow(
Z,1./3.)) 
return 0.;
 
static const double MASS_MUON
muon mass [GeV] 
 
static const double AVOGADRO
Avogadro's number [gr^-1]. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
T pow(const T &x, const double y)
Power . 
 
static const double MASS_ELECTRON
electron mass [GeV] 
 
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant. 
 
virtual double IntegralofG(const double E, const double eps) const 
 
 
 
 
  
  
      
        
          | double JPHYSICS::JRadiation::TotalCrossSectionBrems  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Bremsstrahlung cross section. 
- Parameters
 - 
  
  
 
- Returns
 - cross section [m^2/g] 
 
Definition at line 141 of file JRadiation.hh.
static const double MASS_MUON
muon mass [GeV] 
 
static const double AVOGADRO
Avogadro's number [gr^-1]. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
T pow(const T &x, const double y)
Power . 
 
static const double MASS_ELECTRON
electron mass [GeV] 
 
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant. 
 
 
 
 
  
  
      
        
          | virtual double JPHYSICS::JRadiation::SigmaGNrad  | 
          ( | 
          const double  | 
          E,  | 
         
        
           | 
           | 
          const double  | 
          eps  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inlinevirtualinherited   | 
  
 
Photo-nuclear cross section. 
- Parameters
 - 
  
    | E | muon energy [GeV]  | 
    | eps | shower energy [GeV]  | 
  
   
- Returns
 - cross section [m^2/g] 
 
Definition at line 164 of file JRadiation.hh.
  169       if (eps<0.2) 
return 0.;
 
  175         {Aeff = (0.22*
A + 0.78 * 
pow(
A,0.89));}
 
  176       double sigmaGammaPofeps = (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps))*
pow(10,-34.);
 
  179       double epsoverE = eps/
E;
 
  182       double PhiofEofeps = epsoverE - 1 + Factor * log (Numerator / Denom);
 
  184       return Psiofeps*PhiofEofeps;
 
static const double MASS_MUON
muon mass [GeV] 
 
static const double AVOGADRO
Avogadro's number [gr^-1]. 
 
Auxiliary data structure to convert (lambda) function to printable object. 
 
T pow(const T &x, const double y)
Power . 
 
static const double PI
Mathematical constants. 
 
static const double MASS_PROTON
proton mass [GeV] 
 
static const double ALPHA_ELECTRO_MAGNETIC
Electro-Magnetic coupling constant. 
 
 
 
 
  
  
      
        
          | double JPHYSICS::JRadiation::EfromBrems  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Bremsstrahlung shower energy. 
- Parameters
 - 
  
  
 
- Returns
 - shower energy [GeV] 
 
Definition at line 219 of file JRadiation.hh.
  224       for (
int i = 1000; i != 0; --i) {
 
  227         if(gRandom->Rndm()<(1.-Er/
E+0.75*
pow(Er/
E,2))) 
break;
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
T pow(const T &x, const double y)
Power . 
 
 
 
 
  
  
      
        
          | double JPHYSICS::JRadiation::EfromEErad  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Pair production shower energy. 
- Parameters
 - 
  
  
 
- Returns
 - shower energy [GeV] 
 
Definition at line 239 of file JRadiation.hh.
  243       const double eps =0.2;
 
  247       for (
int i = 1000; i != 0; --i)
 
  252           if(gRandom->Rndm()<factor) 
break;
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
virtual double IntegralofG(const double E, const double eps) const 
 
 
 
 
  
  
      
        
          | double JPHYSICS::JRadiation::EfromGNrad  | 
          ( | 
          const double  | 
          E | ) | 
           const | 
         
       
   | 
  
inlineinherited   | 
  
 
Photo-nuclear shower energy. 
- Parameters
 - 
  
  
 
- Returns
 - shower energy [GeV] 
 
Definition at line 263 of file JRadiation.hh.
  274       for (
int i = 1000; i != 0; --i) {
 
  277         if (gRandom->Rndm() < factor) 
return Er;
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
static double sigmaGammaPparam(const double eps)
 
static double PhiofEofepsparam(const double E, const double eps)
 
 
 
 
  
  
      
        
          | double JPHYSICS::JRadiation::GofZEvrho  | 
          ( | 
          const double  | 
          E,  | 
         
        
           | 
           | 
          const double  | 
          v,  | 
         
        
           | 
           | 
          const double  | 
          r  | 
         
        
           | 
          ) | 
           |  const | 
         
       
   | 
  
inlineprotectedinherited   | 
  
 
Definition at line 320 of file JRadiation.hh.
  325       const double b   = 
v*
v/(2*(1-
v));
 
  326       const double Be  = ((2+
r*
r)*(1+b)+ksi*(3+
r*
r))*log(1+1/ksi)+(1-
r*
r-b)/(1+ksi)-(3+
r*
r);
 
  327       const double Bm  = ((1+
r*
r)*(1+3*b/2)-(1+2*b)*(1-
r*
r)/ksi)*log(1+ksi)+ksi*(1-r*r-b)/(1+ksi)+(1+2*b)*(1-r*r);
 
  328       const double Ye  = (5-r*r+4*b*(1+r*
r))/(2*(1+3*b)*log(3+1/ksi)-r*r-2*b*(2-r*
r));
 
  329       const double Ym  = (4+r*r+3*b*(1+r*
r))/((1+r*
r)*(1.5+2*b)*log(3+ksi)+1-1.5*r*
r);
 
  330       const double Le  = log((
Astar()*
pow(
Z,-1./3.)*sqrt((1+ksi)*(1+Ye)))/
 
  334       double Phie = Be*Le; 
if(Phie<0.)Phie=0.;
 
  335       double Phim = Bm*Lm; 
if(Phim<0.)Phim=0.;
 
static const double MASS_MUON
muon mass [GeV] 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
T pow(const T &x, const double y)
Power . 
 
static const double MASS_ELECTRON
electron mass [GeV] 
 
 
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::sigmaGammaPparam  | 
          ( | 
          const double  | 
          eps | ) | 
           | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
Definition at line 362 of file JRadiation.hh.
  364       return (49.2 + 11.1 * log(eps) + 151.8/sqrt(eps));
 
 
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::PhiofEofepsparam  | 
          ( | 
          const double  | 
          E,  | 
         
        
           | 
           | 
          const double  | 
          eps  | 
         
        
           | 
          ) | 
           |  | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
Definition at line 367 of file JRadiation.hh.
  370       const double epsoverE = eps/
E;
 
  374       return (epsoverE - 1 + Factor * log (Numerator / Denom));
 
static const double MASS_MUON
muon mass [GeV] 
 
Auxiliary data structure to convert (lambda) function to printable object. 
 
static const double MASS_PROTON
proton mass [GeV] 
 
 
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::le  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::r0  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::Astar  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::B  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
 
  
  
      
        
          | static double JPHYSICS::JRadiation::BP  | 
          ( | 
           | ) | 
           | 
         
       
   | 
  
inlinestaticprotectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::Z | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::A | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::Dn | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::DnP | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const int JPHYSICS::JRadiation::steps | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::EminBrems | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::EminEErad | 
         
       
   | 
  
protectedinherited   | 
  
 
 
  
  
      
        
          | const double JPHYSICS::JRadiation::EminGNrad | 
         
       
   | 
  
protectedinherited   | 
  
 
 
The documentation for this class was generated from the following file: