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.