ConversionUtil.h
Go to the documentation of this file.
1 #ifndef _RecDataWriterNG_ConversionUtil_h_
2 #define _RecDataWriterNG_ConversionUtil_h_
3 
4 #include <vector>
5 #include <TVector3.h>
6 #include <utl/CoordinateSystemPtr.h>
7 
8 
9 class RecEvent;
10 class RecShower;
11 
12 namespace utl {
13  class TimeStamp;
14 }
15 
16 namespace otoa {
17 
20  // Time related...
22  unsigned int TimeStamp2YYMMDD(const utl::TimeStamp& timest);
23 
25  unsigned int TimeStamp2HHMMSS(const utl::TimeStamp& timest);
26 
28  double TimeStamp2MoonCycle(const utl::TimeStamp& timest);
29 
31  double TimeStamp2GMST(const utl::TimeStamp& timest);
32 
34  double CalculateNutationCorrection(const double julianDay);
35 
37  void LinearFit(const std::vector<double>& x,
38  const std::vector<double>& y,
39  const std::vector<double>& ey,
40  double& a0,
41  double& a1,
42  double& chi2);
43 
46  void FillCelestialCoordinates(RecShower& recShower);
47 
48  template<class T>
49  inline
50  TVector3
51  ToTVector3(const T& v, const utl::CoordinateSystemPtr& cs, const double unit = 1)
52  {
53  return TVector3(v.GetX(cs)/unit, v.GetY(cs)/unit, v.GetZ(cs)/unit);
54  }
55 
56 }
57 
58 
59 #endif
unsigned int TimeStamp2HHMMSS(const utl::TimeStamp &timest)
Convert a TimeStamp into an integer representing the time as HHMMSS.
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
double CalculateNutationCorrection(const double julianDay)
Used by the calculation of the equatorial coordinates. TODO: Move such calculations to utl or use lib...
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
unsigned int TimeStamp2YYMMDD(const utl::TimeStamp &timest)
Convert a TimeStamp into an integer representing the date as YYMMDD.
const double unit[npar]
Definition: UnivRec.h:76
double TimeStamp2GMST(const utl::TimeStamp &ts)
Convert a TimeStamp to GMST.
TVector3 ToTVector3(const T &v, const utl::CoordinateSystemPtr &cs, const double unit=1)
void FillCelestialCoordinates(RecShower &recShower)
void LinearFit(const vector< double > &x, const vector< double > &y, const vector< double > &ey, double &a0, double &a1, double &chi2)
Do a linear fit and return coefficients and chi2.
double TimeStamp2MoonCycle(const utl::TimeStamp &timest)
Convert a TimeStamp into a fractional mooncycle since 2004/01/07.

, generated on Tue Sep 26 2023.