1 #ifndef __JPHYSICS__JRADIATIONSOURCE__ 
    2 #define __JPHYSICS__JRADIATIONSOURCE__ 
   19 namespace JPP { 
using namespace JPHYSICS; }
 
   53                                 const unsigned int number_of_bins,
 
   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());
 
  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;
 
  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;
 
  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;
 
  207                                const double eps)
 const 
  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;
 
  250     virtual double getInverseInteractionLength(
const double E) 
const = 0;
 
  258     virtual double getA(
const double E) 
const = 0;
 
  266     virtual double getEnergyOfShower(
const double E) 
const = 0;
 
  280     typedef double (
JRadiation::*sigma_type)(
const double) 
const;   
 
  281     typedef double (
JRadiation::*eloss_type)(
const double) 
const;   
 
  294                      const double                             density,
 
  311       return (*rad.*sigma)(
E) * rho * 1.0e6;
 
  320     virtual double getA(
const double E)
 const override  
  322       return (*rad.*sigma)(
E) * rho * 1.0e6; 
 
  333       return (*rad.*eloss)(
E);
 
JRadiationFunction(const JRadiation &radiation, const unsigned int number_of_bins, const double Emin, const double Emax)
Constructor. 
 
JLANG::JSharedPointer< JRadiation > rad
 
virtual double getEnergyOfShower(const double E) const override
Get energy of shower. 
 
JRadiationSource(const JLANG::JSharedPointer< JRadiation > &radiation, const double density, const source_type source)
Constructor. 
 
Interface for calculation of inverse interaction length and shower energy. 
 
virtual double CalculateACoeff(const double E) const override
A Coefficient. 
 
virtual double getInverseInteractionLength(const double E) const override
Get inverse interaction length. 
 
Muon radiative cross sections. 
 
then set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))*exp(-0.5 *(y-[1])*(y-[1])/([2]*[2]))" JF2 -o $WORKDIR/f2.root -F "$FORMULA" -@ "p0
 
virtual ~JRadiationInterface()
Virtual destructor. 
 
Fast implementation of class JRadiation. 
 
then echo The file $DIR KM3NeT_00000001_00000000 root already please rename or remove it first
 
Various implementations of functional maps. 
 
virtual double getA(const double E) const override
Get A value. 
 
std::pair< sigma_type, eloss_type > source_type
 
The template JSharedPointer class can be used to share a pointer to an object. 
 
Auxiliary class for the calculation of the muon radiative cross sections. 
 
virtual double IntegralofG(const double E, const double eps) const 
 
virtual double TotalCrossSectionEErad(const double E) const override
Pair production cross section. 
 
virtual double TotalCrossSectionGNrad(const double E) const override
Photo-nuclear cross section. 
 
JTOOLS::JMultiFunction< JFunction1D_t, JTOOLS::JMapList< JTOOLS::JPolint1FunctionalGridMap > > JFunction2D_t
 
virtual double TotalCrossSectionEErad(const double E) const 
Pair production cross section. 
 
JTOOLS::JGridPolint1Function1D_t JFunction1D_t
 
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. 
 
then usage $script[input file[working directory[option]]] nWhere option can be E