1 #ifndef __JPHYSICS__JGEANE__ 
    2 #define __JPHYSICS__JGEANE__ 
   17 namespace JPP { 
using namespace JPHYSICS; }
 
   46     virtual double getA() 
const = 0;
 
   54     virtual double getB() 
const = 0;
 
   64     virtual double getE(
const double E, 
const double dx) 
const = 0;
 
   74     virtual double getX(
const double E0, 
 
   75                         const double E1) 
const = 0;
 
   87       return this->
getE(E, dx);
 
   99       return this->
getX(E, 0.0);
 
  145     virtual double getA()
 const override  
  156     virtual double getB()
 const override  
  169     virtual double getE(
const double E, 
const double dx)
 const override  
  171       const double y = (
a/
b + 
E) * 
exp(-
b*dx)  -  
a/
b;
 
  187     virtual double getX(
const double E0, 
 
  188                         const double E1)
 const override 
  190       return -
log((
a + 
b*E1) / (
a+
b*E0)) / 
b;
 
  208     protected std::map<double, JGeane_t>
 
  231     virtual double getA()
 const override  
  244     virtual double getB()
 const override  
  257     virtual double getE(
const double E, 
const double dx)
 const override  
  264         const_iterator p = this->lower_bound(E1);
 
  270           const double x2 = p->second.getX(E1, p->first);
 
  273             return p->second.getE(E1, x1);
 
  279         } 
while (p != this->begin());
 
  295     double getEa(
const double E, 
const double dx)
 const 
  313           const double x2 = p->second.getX(E1, p->first);
 
  315           Ea += (x2 > x1 ? x1 : x2) * p->second.getA();
 
  320         } 
while (p != this->cbegin() && x1 > 0.0);
 
  334     double getEb(
const double E, 
const double dx)
 const 
  336       const double dE = E - 
getE(E, dx);
 
  338       return dE - 
getEa(E, dx);
 
  349     virtual double getX(
const double E0, 
 
  350                         const double E1)
 const override 
  357         const_iterator p = this->lower_bound(E);
 
  364             return dx + p->second.getX(E, E1);
 
  367           dx += p->second.getX(E, p->first);
 
  370         } 
while (p != this->begin());
 
virtual double getB() const override
Get energy loss constant. 
 
virtual double getX(const double E0, const double E1) const override
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. 
 
double getEa(const double E, const double dx) const 
Get energy loss due to ionisation. 
 
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 double MASS_MUON
muon mass [GeV] 
 
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 getX(const double E0, const double E1) const override
Get distance traveled by muon. 
 
static const double DENSITY_SEA_WATER
Fixed environment values. 
 
double getEb(const double E, const double dx) const 
Get energy loss due to pair production and bremsstrahlung. 
 
virtual double getX(const double E0, const double E1) const =0
Get distance traveled by muon. 
 
virtual double getE(const double E, const double dx) const override
Get energy of muon after specified distance. 
 
virtual double getB() const =0
Get energy loss constant. 
 
virtual double getA() const =0
Get energy loss constant. 
 
Interface for muon energy loss. 
 
virtual double getB() const override
Get energy loss constant. 
 
JGeane_t(const double __a, const double __b)
constructor 
 
virtual double getE(const double E, const double dx) const override
Get energy of muon after specified distance. 
 
double operator()(const double E) const 
Range of muon. 
 
Function object for energy dependent energy loss of the muon. 
 
static const double DENSITY_ROCK
Density of rock [g/cm^3]. 
 
double operator()(const double E, const double dx) const 
Energy of muon after specified distance. 
 
then cat $TRIPOD_INITIAL<< EOF1 256877.5 4743716.7-2438.42 256815.5 4743395.0-2435.53 257096.2 4743636.0-2439.5EOFfiif[[!-f $DETECTOR]];then JEditDetector-a $DETECTOR_INITIAL-s"-1 addz -6.9"-o $DETECTOR--!eval`JPrintDetector-a $DETECTOR-O SUMMARY`for STRING in ${STRINGS[*]};do set_variable MODULE`getModule-a $DETECTOR-L"$STRING 0"`JEditDetector-a $DETECTOR-M"$MODULE setz -2.9"-o $DETECTOR--!donefiif[[!-f $TRIPOD]];then cp-p $TRIPOD_INITIAL $TRIPODfiJAcoustics.sh $DETECTOR_IDcat > acoustics_trigger_parameters txt<< EOFQ=0.0;TMax_s=0.020;numberOfHits=90;EOFJAcousticsEventBuilder.sh $DETECTOR $RUNS[*]INPUT_FILES=(`ls KM3NeT_ ${(l:8::0::0:) DETECTOR_ID}_0 *${^RUNS}_event.root`) cd $WORKDIRif[!$HOMEDIR-ef $WORKDIR];then cp-p $HOMEDIR/$DETECTOR $WORKDIR cp-p $HOMEDIR/${^ACOUSTICS_KEYS}.txt $WORKDIR cp-p $HOMEDIR/${^INPUT_FILES}$WORKDIRfisource $JPP_DIR/examples/JAcoustics/acoustics-fit-toolkit.shtimer_startinitialise stage_b 1 0 100.0e-6 0.002 0.1 0 > &stage log
 
JGeaneWater()
Default constructor. 
 
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 JAcousticsToolkit.sh typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
 
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity. 
 
virtual double getA() const override
Get energy loss constant. 
 
virtual double getA() const override
Get energy loss constant.