NKGBetaOnlyLDF.h
Go to the documentation of this file.
1 #ifndef _LDFFinderKG_NKGBetaOnlyLDF_h_
2 #define _LDFFinderKG_NKGBetaOnlyLDF_h_
3 
4 
5 #include "NKGLDF.h"
6 #include <cmath>
7 #include <vector>
8 #include <utl/Math.h>
9 #include <utl/AugerUnits.h>
10 
11 
12 namespace LDFFinderKG {
13 
14  class NKGBetaOnlyLDF : public NKGLDF {
15 
16  public:
17  NKGBetaOnlyLDF(const double refDistance) : NKGLDF(refDistance, 6) { }
18 
19  std::vector<double>
20  ShapeModel(const double cosTheta, const double showerSize)
21  const
22  {
23  const double lgSRef = std::log10(showerSize);
24  const double secTheta = 1 / cosTheta;
25 
26  const double a0 = fShapeModelVector[0];
27  const double a1 = fShapeModelVector[1];
28  const double b0 = fShapeModelVector[2];
29  const double b1 = fShapeModelVector[3];
30  const double c0 = fShapeModelVector[4];
31  const double c1 = fShapeModelVector[5];
32 
33  std::vector<double> shape(2);
34  double& beta = shape[0];
35  double& gamma = shape[1];
36 
37  beta = a0 + a1*lgSRef + secTheta*(b0 + b1*lgSRef + secTheta*(c0 + c1*lgSRef));
38 
39  gamma = 0;
40 
41  return shape;
42  }
43 
44  };
45 
46 }
47 
48 
49 #endif
std::vector< double > fShapeModelVector
NKGBetaOnlyLDF(const double refDistance)
virtual std::vector< double > ShapeModel(const double cosTheta, double showerSize) const =0

, generated on Tue Sep 26 2023.