UnivTimeKG.h
Go to the documentation of this file.
1 #ifndef __UnivTimeKG_UnivTimeKG_h_
2 #define __UnivTimeKG_UnivTimeKG_h_
3 
4 #include <vector>
5 #include <string>
6 
7 namespace UnivTimeKG {
8 
9  unsigned int FindIndex(const std::vector<double>& array, const double value);
10 
11 
12  double int1_2p(const double x0, const double y0, const double x1, const double y1, const double x);
13 
14 
15  double int1(const std::vector<double>& xs, const std::vector<double>& ys, const double x);
16 
17 
18  double int1(const double xs[], const double ys[], const double x, const int n);
19 
20 
21  double int2(const std::vector<double>& x1s, const std::vector<double>& x2s,
22  const std::vector<std::vector<double> >& Ys, const double x1, const double x2);
23 
24 
25  struct IntTable {
26  std::vector<double> rs;
27  std::vector<double> psis;
28  std::vector<std::vector<double> > ys;
29  };
30 
31 
32  class TimeModel {
33 
34  public:
35  TimeModel();
36  virtual ~TimeModel();
37 
38  void addInterpolationTable(const std::vector<double>& xs,
39  const std::vector<double>& ys, const std::vector<std::vector<double> >& data);
40  void addInterpolationTable(const std::string& filename);
42  virtual double getShapeParameter(const unsigned int ipar, const std::vector<double>& pars, const double DX) = 0;
43  void interpolateParameters(const double DX, const double r, const double psi, std::vector<double>& output);
44 
45  virtual void setShapeParameters(const double DX, const double r, const double psi, const double theta, const double lgE) = 0;
46 
47  virtual void setParameterOffsets(const double m, const double s) = 0;
48 
49  virtual double pdf(const double) = 0;
50  virtual double cdf(const double) = 0;
51  double firstParticlePdf(const double, const double);
52  double firstParticlePdfSmeared(const double, const double);
53  virtual double invcdf(const double) = 0;
54  double getRisetime();
55  double getFalltime();
56 
57  std::vector<IntTable> tables;
58  static const int interpMode = 1;
59  unsigned int nParams;
60 
61  unsigned int icomp;
62 
63  };
64 
65 }
66 
67 
68 #endif
struct Station * array
void interpolateParameters(const double DX, const double r, const double psi, std::vector< double > &output)
Definition: UnivTimeKG.cc:184
virtual void setShapeParameters(const double DX, const double r, const double psi, const double theta, const double lgE)=0
std::vector< double > rs
Definition: UnivTimeKG.h:26
unsigned int FindIndex(const vector< double > &array, const double value)
Definition: UnivTimeKG.cc:43
unsigned int nParams
Definition: UnivTimeKG.h:59
double firstParticlePdf(const double, const double)
Definition: UnivTimeKG.cc:231
virtual double cdf(const double)=0
virtual void setParameterOffsets(const double m, const double s)=0
double int2(const vector< double > &x1s, const vector< double > &x2s, const vector< vector< double > > &Ys, const double x1, const double x2)
Definition: UnivTimeKG.cc:91
void clearInterpolationTables()
Definition: UnivTimeKG.cc:177
static const int interpMode
Definition: UnivTimeKG.h:58
double int1_2p(const double x0, const double y0, const double x1, const double y1, const double x)
Definition: UnivTimeKG.cc:63
constexpr double s
Definition: AugerUnits.h:163
unsigned int icomp
Definition: UnivTimeKG.h:61
double int1(const vector< double > &xs, const vector< double > &ys, const double x)
Definition: UnivTimeKG.cc:70
std::vector< double > psis
Definition: UnivTimeKG.h:27
double firstParticlePdfSmeared(const double, const double)
Definition: UnivTimeKG.cc:238
std::vector< IntTable > tables
Definition: UnivTimeKG.h:57
virtual double invcdf(const double)=0
uint16_t * data
Definition: dump1090.h:228
void addInterpolationTable(const std::vector< double > &xs, const std::vector< double > &ys, const std::vector< std::vector< double > > &data)
Definition: UnivTimeKG.cc:114
std::vector< std::vector< double > > ys
Definition: UnivTimeKG.h:28
virtual double pdf(const double)=0
char * filename
Definition: dump1090.h:266
constexpr double m
Definition: AugerUnits.h:121
virtual double getShapeParameter(const unsigned int ipar, const std::vector< double > &pars, const double DX)=0

, generated on Tue Sep 26 2023.