1 #ifndef __JSIRENE__JVISIBLEENERGYTOOLKIT__
2 #define __JSIRENE__JVISIBLEENERGYTOOLKIT__
34 namespace JPP {
using namespace JSIRENE; }
53 const JCircle2D circle(center, R_Earth);
84 const double Leff = (intersection.first < 0.0 ?
85 min(Lmuon, intersection.second) :
86 min(Lmuon, intersection.second) - intersection.first);
90 const double Emidpoint =
gWater.
getE(track.
E, Lmuon/2.0);
93 const double dEc = Leff /
geanc();
96 Evis = dEb + dEc + dEd;
162 Vec Evis(0.0, 0.0, 0.0);
Data structure for vector in two dimensions.
static const double R_EARTH_KM
Geophysics constants.
double geanc()
Equivalent muon track length per unit shower energy.
This file contains converted Fortran code from km3.
bool is_muon(const Trk &track)
Test whether given track is a (anti-)muon.
static const double MASS_MUON
muon mass [GeV]
Vec getVisibleEnergyVector(const Trk &track, const JCylinder3D &can=getMaximumContainmentVolume())
Get the visible energy vector of a track.
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 JPythia pythia
Function object for relative light yield as a function of GEANT particle code.
double E
Energy [GeV] (either MC truth or reconstructed)
double getEb(const double E, const double dx) const
Get energy loss due to pair production and bremsstrahlung.
static const JPDB & getInstance()
Get particle data book.
double getDeltaRaysFromMuon(const double E, const JRange< double > T_GeV=JRange< double >(DELTARAY_TMIN, DELTARAY_TMAX))
Equivalent EM-shower energy due to delta-rays per unit muon track length.
bool is_neutrino(const Trk &track)
Test whether given track is a neutrino.
bool is_finalstate(const Trk &track)
Test whether given track corresponds to a final state particle.
The Vec class is a straightforward 3-d vector, which also works in pyroot.
JAxis3D getAxis(const Trk &track)
Get axis.
const JCylinder3D getMaximumContainmentVolume()
Auxiliary function to retrieve the maximum cylindrical containment volume.
double getVisibleEnergy(const Trk &track, const JCylinder3D &can=getMaximumContainmentVolume())
Get the visible energy of a track.
double getKineticEnergy(const Trk &trk)
Get track kinetic energy.
int type
MC: particle type in PDG encoding.
virtual double getE(const double E, const double dx) const override
Get energy of muon after specified distance.
Definition of particle types.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
double getSinThetaC()
Get average sine of Cherenkov angle of water corresponding to group velocity.