Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
JPHYSICS::JGeaneWater Class Reference

Function object for energy dependent energy loss of the muon. More...

#include <JGeane.hh>

Inheritance diagram for JPHYSICS::JGeaneWater:
JPHYSICS::JGeane std::map< double, JGeane_t >

Public Member Functions

 JGeaneWater ()
 Default constructor. More...
 
virtual double getA () const
 Get energy loss constant. More...
 
virtual double getB () const
 Get energy loss constant. More...
 
virtual double getE (const double E, const double dx) const
 Get energy of muon after specified distance. More...
 
virtual double getX (const double E0, const double E1) const
 Get distance traveled by muon. More...
 
double operator() (const double E, const double dx) const
 Energy of muon after specified distance. More...
 
double operator() (const double E) const
 Range of muon. More...
 
double operator() () const
 Equivalent unit track length per unit shower energy and per unit track length. More...
 

Detailed Description

Function object for energy dependent energy loss of the muon.

Approximate values of energy loss parameters taken from reference: Proceedings of ICRC 2001, "Precise parametrizations of muon energy losses in water", S. Klimushin, E. Bugaev and I. Sokalski.

Definition at line 209 of file JGeane.hh.

Constructor & Destructor Documentation

JPHYSICS::JGeaneWater::JGeaneWater ( )
inline

Default constructor.

Definition at line 217 of file JGeane.hh.

218  {
219  using namespace std;
220 
221  this->insert(make_pair( 0.0e0, JGeane_t( 2.30e-1 * DENSITY_SEA_WATER, 15.50e-4 * DENSITY_SEA_WATER)));
222  this->insert(make_pair(30.0e0, JGeane_t( 2.67e-1 * DENSITY_SEA_WATER, 3.40e-4 * DENSITY_SEA_WATER)));
223  this->insert(make_pair(35.3e3, JGeane_t(-6.50e-1 * DENSITY_SEA_WATER, 3.66e-4 * DENSITY_SEA_WATER)));
224  }
static const double DENSITY_SEA_WATER
Fixed environment values.
Definition: JConstants.hh:34
Function object for the energy loss of the muon.
Definition: JGeane.hh:127

Member Function Documentation

virtual double JPHYSICS::JGeaneWater::getA ( ) const
inlinevirtual

Get energy loss constant.

N.B. The return value corresponds to the low-energy regime.

Returns
Energy loss due to ionisation [GeV/m]

Implements JPHYSICS::JGeane.

Definition at line 234 of file JGeane.hh.

235  {
236  return 2.30e-1 * DENSITY_SEA_WATER;
237  }
static const double DENSITY_SEA_WATER
Fixed environment values.
Definition: JConstants.hh:34
virtual double JPHYSICS::JGeaneWater::getB ( ) const
inlinevirtual

Get energy loss constant.

N.B. The return value corresponds to the medium-energy regime.

Returns
Energy loss due to pair production and Bremstrahlung [m^-1]

Implements JPHYSICS::JGeane.

Definition at line 247 of file JGeane.hh.

248  {
249  return 3.40e-4 * DENSITY_SEA_WATER;
250  }
static const double DENSITY_SEA_WATER
Fixed environment values.
Definition: JConstants.hh:34
virtual double JPHYSICS::JGeaneWater::getE ( const double  E,
const double  dx 
) const
inlinevirtual

Get energy of muon after specified distance.

Parameters
EEnergy of muon [GeV]
dxdistance traveled [m]
Returns
Energy of muon [GeV]

Implements JPHYSICS::JGeane.

Definition at line 260 of file JGeane.hh.

261  {
262  double E1 = E;
263  double x1 = dx;
264 
265  if (E1 > MASS_MUON) {
266 
267  const_iterator p = this->lower_bound(E1);
268 
269  do {
270 
271  --p;
272 
273  const double x2 = p->second.getX(E1, p->first);
274 
275  if (x2 > x1) {
276  return p->second.getE(E1, x1);
277  }
278 
279  E1 = p->first;
280  x1 -= x2;
281 
282  } while (p != this->begin());
283  }
284 
285  return E1;
286  }
static const double MASS_MUON
muon mass [GeV]
Definition: JConstants.hh:59
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition: JMuonPostfit.sh:37
virtual double JPHYSICS::JGeaneWater::getX ( const double  E0,
const double  E1 
) const
inlinevirtual

Get distance traveled by muon.

Parameters
E0Energy of muon at start [GeV]
E1Energy of muon at end [GeV]
Returns
distance traveled [m]

Implements JPHYSICS::JGeane.

Definition at line 296 of file JGeane.hh.

298  {
299  double E = E0;
300  double dx = 0.0;
301 
302  if (E > MASS_MUON) {
303 
304  const_iterator p = this->lower_bound(E);
305 
306  do {
307 
308  --p;
309 
310  if (E1 > p->first) {
311  return dx + p->second.getX(E, E1);
312  }
313 
314  dx += p->second.getX(E, p->first);
315  E = p->first;
316 
317  } while (p != this->begin());
318  }
319 
320  return dx;
321  }
static const double MASS_MUON
muon mass [GeV]
Definition: JConstants.hh:59
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition: JMuonPostfit.sh:37
double JPHYSICS::JGeane::operator() ( const double  E,
const double  dx 
) const
inlineinherited

Energy of muon after specified distance.

Parameters
EEnergy of muon [GeV]
dxdistance traveled [m]
Returns
Energy of muon [GeV]

Definition at line 88 of file JGeane.hh.

89  {
90  return this->getE(E, dx);
91  }
virtual double getE(const double E, const double dx) const =0
Get energy of muon after specified distance.
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition: JMuonPostfit.sh:37
double JPHYSICS::JGeane::operator() ( const double  E) const
inlineinherited

Range of muon.

Parameters
EEnergy of muon [GeV]
Returns
range [m]

Definition at line 100 of file JGeane.hh.

101  {
102  return this->getX(E, 0.0);
103  }
virtual double getX(const double E0, const double E1) const =0
Get distance traveled by muon.
then usage $script[input file[working directory[option]]] nWhere option can be E
Definition: JMuonPostfit.sh:37
double JPHYSICS::JGeane::operator() ( ) const
inlineinherited

Equivalent unit track length per unit shower energy and per unit track length.

Returns
equivalent unit track length [Gev^-1]

Definition at line 111 of file JGeane.hh.

112  {
113  return this->getB() * geanc();
114  }
double geanc()
Equivalent muon track length per unit shower energy.
Definition: JGeane.hh:31
virtual double getB() const =0
Get energy loss constant.

The documentation for this class was generated from the following file: