TankResponseUtilities.h
Go to the documentation of this file.
1 #ifndef _tls_TankResponseUtilities_h_
2 #define _tls_TankResponseUtilities_h_
3 
4 #include <utl/Math.h>
5 #include <utl/AugerUnits.h>
6 
7 namespace tls {
8 
9  static const double kTankRadius = 1.784*utl::meter;
10  static const double kTankHeight = 1.2*utl::meter;
11 
13  inline
14  double
15  TankPerpendicularArea(const double theta)
16  {
17  const double a1 = utl::kPi*kTankRadius*kTankRadius;
18  const double a2 = 2.0*kTankRadius*kTankHeight;
19  return a1 * std::cos(theta) + a2 * std::sin(theta);
20  }
21 
23  inline
24  double
25  TankGroundArea(const double theta)
26  {
27  const double tanTheta = std::tan(theta);
29  }
30 
32  inline
33  double
34  TankMeanTrackLength(const double theta)
35  {
36  // average length = Volume/PerpendicularArea (from Ines Valino)
37  const double volume = kTankHeight*utl::kPi*kTankRadius*kTankRadius;
38  return volume/TankPerpendicularArea(theta);
39  }
40 
41 } // NS tls
42 
43 #endif
static const double kTankHeight
static const double kTankRadius
double TankPerpendicularArea(const double theta)
Perpendicular area of Auger tank seen by muon with zenith angle theta.
constexpr double kPi
Definition: MathConstants.h:24
constexpr double meter
Definition: AugerUnits.h:81
double TankMeanTrackLength(const double theta)
Mean track length of particle piercing Auger tank with zenith angle theta.
double TankGroundArea(const double theta)
Projected ground area of Auger tank seen by muon with zenith angle theta.

, generated on Tue Sep 26 2023.