#ifndef _tls_TankResponseUtilities_h_ #define _tls_TankResponseUtilities_h_ #include #include namespace tls { static const double kTankRadius = 1.784*utl::meter; static const double kTankHeight = 1.2*utl::meter; /// Perpendicular area of Auger tank seen by muon with zenith angle theta inline double TankPerpendicularArea(const double theta) { const double a1 = utl::kPi*kTankRadius*kTankRadius; const double a2 = 2.0*kTankRadius*kTankHeight; return a1 * std::cos(theta) + a2 * std::sin(theta); } /// Projected ground area of Auger tank seen by muon with zenith angle theta inline double TankGroundArea(const double theta) { const double tanTheta = std::tan(theta); return utl::kPi*kTankRadius*kTankRadius + 2*kTankRadius*kTankHeight*tanTheta; } /// Mean track length of particle piercing Auger tank with zenith angle theta inline double TankMeanTrackLength(const double theta) { // average length = Volume/PerpendicularArea (from Ines Valino) const double volume = kTankHeight*utl::kPi*kTankRadius*kTankRadius; return volume/TankPerpendicularArea(theta); } } // NS tls #endif