1#ifndef __JSIRENE__JVISIBLEENERGYTOOLKIT__
2#define __JSIRENE__JVISIBLEENERGYTOOLKIT__
50 const double R_Earth = R_EARTH_KM * 1e3;
75 if (is_finalstate(track)) {
83 const double Lmuon = gWater.getX(track.
E, MASS_MUON / getSinThetaC());
84 const double Leff = (min(Lmuon, max(intersection.second, 0.0)) -
85 min(Lmuon, max(intersection.first, 0.0)));
90 const double Emidpoint = gWater.getE(track.
E, Lmuon/2.0);
92 const double dEb = gWater.getEb(track.
E, Leff);
93 const double dEc = Leff / geanc();
94 const double dEd = Leff * getDeltaRaysFromMuon(Emidpoint);
96 Evis = dEb + dEc + dEd;
100 Evis =
pythia(track.
type, getKineticEnergy(track));
132 std::vector<Trk>::const_iterator __end,
139 for (vector<Trk>::const_iterator track = __begin; track != __end; ++track) {
157 std::vector<Trk>::const_iterator __end,
162 Vec Evis(0.0, 0.0, 0.0);
164 for (vector<Trk>::const_iterator track = __begin; track != __end; ++track) {
Definition of particle types.
Data structure for circle in two dimensions.
Data structure for vector in two dimensions.
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
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.
static const JPythia pythia
Function object for relative light yield as a function of GEANT particle code.
Vec getVisibleEnergyVector(const Trk &track, const JCylinder3D &can=getMaximumContainmentVolume())
Get the visible energy vector of a track.
This file contains converted Fortran code from km3.
The Evt class respresent a Monte Carlo (MC) event as well as an offline event.
std::vector< Trk > mc_trks
MC: list of MC truth tracks.
static const JPDB & getInstance()
Get particle data book.
The cylinder used for photon tracking.
The Trk class represents a Monte Carlo (MC) particle as well as a reconstructed track/shower.
int type
MC: particle type in PDG encoding.
double E
Energy [GeV] (either MC truth or reconstructed)
The Vec class is a straightforward 3-d vector, which also works in pyroot.