1 #ifndef __JPHYSICS__JGEANE__ 
    2 #define __JPHYSICS__JGEANE__ 
   17 namespace JPP { 
using namespace JPHYSICS; }
 
   49     virtual double getA() 
const = 0;
 
   57     virtual double getB() 
const = 0;
 
   67     virtual double getE(
const double E, 
const double dx) 
const = 0;
 
   77     virtual double getX(
const double E0, 
 
   78                         const double E1) 
const = 0;
 
   90       return this->
getE(E, dx);
 
  102       return this->
getX(E, 0.0);
 
  172     virtual double getE(
const double E, 
const double dx)
 const 
  174       const double y = (
a/
b + 
E) * 
exp(-
b*dx)  -  
a/
b;
 
  190     virtual double getX(
const double E0, 
 
  191                         const double E1)
 const 
  193       return -log((
a + 
b*E1) / (
a+
b*E0)) / 
b;
 
  211     protected std::map<double, JGeane_t>
 
  260     virtual double getE(
const double E, 
const double dx)
 const 
  267         const_iterator p = this->lower_bound(E1);
 
  273           const double x2 = p->second.getX(E1, p->first);
 
  276             return p->second.getE(E1, x1);
 
  282         } 
while (p != this->begin());
 
  296     virtual double getX(
const double E0, 
 
  297                         const double E1)
 const 
  304         const_iterator p = this->lower_bound(E);
 
  311             return dx + p->second.getX(E, E1);
 
  314           dx += p->second.getX(E, p->first);
 
  317         } 
while (p != this->begin());
 
virtual double getE(const double E, const double dx) const 
Get energy of muon after specified distance. 
 
virtual double getX(const double E0, const double E1) const 
Get distance traveled by muon. 
 
double geanc()
Equivalent muon track length per unit shower energy. 
 
virtual double getE(const double E, const double dx) const =0
Get energy of muon after specified distance. 
 
Function object for the energy loss of the muon. 
 
double operator()() const 
Equivalent unit track length per unit shower energy and per unit track length. 
 
static const JGeane_t gRock(2.67e-1 *0.9 *DENSITY_ROCK, 3.40e-4 *1.2 *DENSITY_ROCK)
Function object for energy loss of muon in rock. 
 
static const JGeaneWater gWater
Function object for energy loss of muon in sea water. 
 
virtual double getE(const double E, const double dx) const 
Get energy of muon after specified distance. 
 
virtual double getX(const double E0, const double E1) const =0
Get distance traveled by muon. 
 
virtual double getB() const =0
Get energy loss constant. 
 
virtual double getA() const =0
Get energy loss constant. 
 
Interface for muon energy loss. 
 
JGeane_t(const double __a, const double __b)
constructor 
 
virtual double getB() const 
Get energy loss constant. 
 
double operator()(const double E) const 
Range of muon. 
 
virtual double getB() const 
Get energy loss constant. 
 
Function object for energy dependent energy loss of the muon. 
 
virtual double getX(const double E0, const double E1) const 
Get distance traveled by muon. 
 
double operator()(const double E, const double dx) const 
Energy of muon after specified distance. 
 
JGeaneWater()
Default constructor. 
 
virtual double getA() const 
Get energy loss constant. 
 
then usage $script[input file[working directory[option]]] nWhere option can be E
 
then set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable OUTPUT_FILE histogram.root JHistogram1D -o $WORKDIR/$OUTPUT_FILE -F "$FORMULA" -
 
virtual double getA() const 
Get energy loss constant.