#ifndef _tls_VMuonProfile_h_ #define _tls_VMuonProfile_h_ static const char CVSId_tls_VMuonProfile[] = "$Id"; namespace tls { /** \class VMuonProfile \brief This is the virtual base class for muon numbers. The implementation has to provide these virtual methods. */ class VMuonProfile { public: virtual ~VMuonProfile() {} /// Expected average number of muons per tank, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. virtual double NMuon(double xpos, double ypos, double theta, double phi, double energy) = 0; /// Expected average muon inclination angle on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. virtual double ThetaMuon(double xpos, double ypos, double theta, double phi, double energy) = 0; /// Expected average muon energy on the ground, at the given coordinates on the ground, for a certain combination of theta, phi, and energy of the primary particle. virtual double EnergyMuon(double xpos, double ypos, double theta, double phi, double energy) = 0; /// Maximum zenith angle, at which the tank response function is defined. virtual double GetThetaMax() = 0; /// Minimum zenith angle, at which the tank response function is defined. virtual double GetThetaMin() = 0; }; } // namespace tls #endif