Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JPHYSICS::JGeane_t Class Reference

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

#include <JGeane.hh>

Inheritance diagram for JPHYSICS::JGeane_t:
JPHYSICS::JGeane

Public Member Functions

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

Protected Attributes

const double a
 
const double b
 

Detailed Description

Function object for the energy loss of the muon.


The energy loss can be formulated as:

\f[ -\frac{dE}{dx}  =  a + bE \f]

N.B: $ a $ and $ b $ are assumed constant (internal units m and GeV, respectively).

Definition at line 124 of file JGeane.hh.

Constructor & Destructor Documentation

◆ JGeane_t()

JPHYSICS::JGeane_t::JGeane_t ( const double __a,
const double __b )
inline

constructor

Parameters
__aEnergy loss due to ionisation [GeV/m]
__bEnergy loss due to pair production and bremsstrahlung [m^-1]

Definition at line 133 of file JGeane.hh.

134 :
135 a(__a),
136 b(__b)
137 {}
const double a
Definition JGeane.hh:194
const double b
Definition JGeane.hh:195

Member Function Documentation

◆ getA()

virtual double JPHYSICS::JGeane_t::getA ( ) const
inlineoverridevirtual

Get energy loss constant.

Returns
Energy loss due to ionisation [GeV/m]

Implements JPHYSICS::JGeane.

Definition at line 145 of file JGeane.hh.

146 {
147 return a;
148 }

◆ getB()

virtual double JPHYSICS::JGeane_t::getB ( ) const
inlineoverridevirtual

Get energy loss constant.

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

Implements JPHYSICS::JGeane.

Definition at line 156 of file JGeane.hh.

157 {
158 return b;
159 }

◆ getE()

virtual double JPHYSICS::JGeane_t::getE ( const double E,
const double dx ) const
inlineoverridevirtual

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 169 of file JGeane.hh.

170 {
171 const double y = (a/b + E) * exp(-b*dx) - a/b;
172
173 if (y > 0.0)
174 return y;
175 else
176 return 0.0;
177 }

◆ getX()

virtual double JPHYSICS::JGeane_t::getX ( const double E0,
const double E1 ) const
inlineoverridevirtual

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 187 of file JGeane.hh.

189 {
190 return -log((a + b*E1) / (a+b*E0)) / b;
191 }

◆ operator()() [1/3]

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 85 of file JGeane.hh.

86 {
87 return this->getE(E, dx);
88 }
virtual double getE(const double E, const double dx) const =0
Get energy of muon after specified distance.

◆ operator()() [2/3]

double JPHYSICS::JGeane::operator() ( const double E) const
inlineinherited

Range of muon.

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

Definition at line 97 of file JGeane.hh.

98 {
99 return this->getX(E, 0.0);
100 }
virtual double getX(const double E0, const double E1) const =0
Get distance traveled by muon.

◆ operator()() [3/3]

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 108 of file JGeane.hh.

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

Member Data Documentation

◆ a

const double JPHYSICS::JGeane_t::a
protected

Definition at line 194 of file JGeane.hh.

◆ b

const double JPHYSICS::JGeane_t::b
protected

Definition at line 195 of file JGeane.hh.


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