1 #ifndef _LDFFinderKG_NKGASLDF_h_
2 #define _LDFFinderKG_NKGASLDF_h_
9 #include <utl/AugerUnits.h>
12 namespace LDFFinderKG {
22 Value(
const double r,
const std::vector<double>&
shape)
26 const double beta = shape[0];
37 const double beta = shape[0];
38 const double gamma = shape[1];
42 return Value(r, shape) * (
44 (tbg - 1)*(2*
k700*beta*r + tbg*
r2)
49 ShapeModel(
const double cosTheta,
const double showerSize)
52 const double lgSRef = std::log10(showerSize);
69 std::vector<double>
shape(2);
70 double& beta = shape[0];
71 double& gamma = shape[1];
73 beta = a0 + a1*lgSRef + secTheta*(b0 + b1*lgSRef + secTheta*(c0 + c1*lgSRef));
83 const double lgS = std::log10(showerSize);
constexpr T Sqr(const T &x)
const double fReferenceDistance
std::vector< double > fShapeModelVector
double pow(const double x, const unsigned int i)
virtual double Value(const double r, const std::vector< double > &shape) const =0
virtual double SecondDerivative(const double r, const std::vector< double > &shape) const =0
std::vector< double > fBetaUncertaintyModelVector
NKGASLDF(const double refDistance)
return fBetaUncertaintyModelVector *[0] exp(fBetaUncertaintyModelVector[1]*lgS)
virtual std::vector< double > ShapeModel(const double cosTheta, double showerSize) const =0
unsigned int GetNShapeParameters() const
virtual double BetaUncertainty(const double showerSize) const =0