REvent/StationRecData.h
Go to the documentation of this file.
1 #ifndef _revt_StationRecData_h_
2 #define _revt_StationRecData_h_
3 
4 #include <fwk/RunController.h>
5 
6 #include <utl/ShadowPtr_fwd.h>
7 #include <utl/ParameterStorage.h>
8 
9 #include <revt/StationRRecDataQuantities.h>
10 
11 #include <cmath>
12 #include <string>
13 
14 namespace revt {
15 
16  class Station;
17 
18 
27 
28  public:
29  // Parameter Storage
30  typedef StationRRecDataQuantities Parameter;
31 
32  double GetParameter(const Parameter i) const
33  { return fStationQuantities.GetParameter(i, CurrentModule()); }
34 
35  bool GetParameterLockStatus(const Parameter i) const
36  { return fStationQuantities.GetParameterLockStatus(i, CurrentModule()); }
37 
38  double GetParameterError(const Parameter i) const
39  { return std::sqrt(fStationQuantities.GetParameterCovariance(i, i, CurrentModule())); }
40 
42  { return fStationQuantities.GetParameterCovarianceLockStatus(i, i, CurrentModule()); }
43 
44  double GetParameterCovariance(const Parameter i1, const Parameter i2) const
45  { return fStationQuantities.GetParameterCovariance(i1, i2, CurrentModule()); }
46 
47  bool GetParameterCovarianceLockStatus(const Parameter i1, const Parameter i2) const
48  { return fStationQuantities.GetParameterCovarianceLockStatus(i1, i2, CurrentModule()); }
49 
50  bool HasParameter(const Parameter i) const
51  { return fStationQuantities.HasParameter(i); }
52 
53  bool HasParameterError(const Parameter i1) const
54  { return fStationQuantities.HasParameterCovariance(i1, i1); }
55 
56  bool HasParameterCovariance(const Parameter i1 , const Parameter i2) const
57  { return fStationQuantities.HasParameterCovariance(i1, i2); }
58 
59  void SetParameter(Parameter i, double value, bool lock = true)
60  { fStationQuantities.SetParameter(i, value, lock, CurrentModule()); }
61 
62  void SetParameterError(Parameter i, double value, bool lock = true)
63  { fStationQuantities.SetParameterCovariance(i, i, value*value, lock, CurrentModule()); }
64 
65  void SetParameterCovariance(Parameter i1, Parameter i2, double value, bool lock = true)
66  { fStationQuantities.SetParameterCovariance(i1, i2, value, lock, CurrentModule()); }
67 
68  void DeleteParameter(const Parameter i1)
69  { fStationQuantities.DeleteParameter(i1, CurrentModule()); }
70 
72  { fStationQuantities.DeleteParameterCovariance(i1, i2, CurrentModule()); }
73 
74  std::vector<Parameter> GetEnumVector() const
75  { return fStationQuantities.GetEnumVector(); }
76 
77  std::vector<std::pair<Parameter, Parameter>> GetCovarianceEnumVector() const
78  { return fStationQuantities.GetCovarianceEnumVector(); }
79 
82  bool GetPulseFound() const { return fPulseFound; }
83 
86  void SetPulseFound(const bool pulsefound) { fPulseFound = pulsefound; }
87 
89  double GetSignalArrivalAzimuth() const;
90 
92  double GetSignalArrivalAzimuthError() const;
93 
95  double GetSignalArrivalZenith() const;
96 
98  double GetSignalArrivalZenithError() const;
99 
100  private:
101  StationRecData() = default;
102  ~StationRecData() = default;
103 
104  static const std::string& CurrentModule() { return fwk::RunController::GetInstance().GetCurrentModule(); }
105 
107 
108  bool fPulseFound = false;
109 
110  friend class revt::Station;
112 
113  };
114 
115 }
116 
117 
118 #endif
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
void SetParameterCovariance(Parameter i1, Parameter i2, double value, bool lock=true)
double GetSignalArrivalZenith() const
returns the zenith angle of the signal arrival direction (perpendicular to wavefront) ...
Class to access station level reconstructed data.
double GetSignalArrivalZenithError() const
returns the error of the zenith angle of the signal arrival direction (perpendicular to wavefront) ...
void SetParameterError(Parameter i, double value, bool lock=true)
void DeleteParameter(const Parameter i1)
double GetSignalArrivalAzimuth() const
returns the azimuth angle of the signal arrival direction (perpendicular to wavefront) ...
void SetPulseFound(const bool pulsefound)
double GetSignalArrivalAzimuthError() const
returns the error of the azimuth angle of the signal arrival direction (perpendicular to wavefront) ...
StationRRecDataQuantities Parameter
double GetParameterError(const Parameter i) const
bool HasParameter(const IndexEnum param) const
determine whether a parameter has been set
bool HasParameterError(const Parameter i1) const
bool GetParameterLockStatus(const Parameter i) const
class to hold data at the radio Station level.
bool GetParameterCovarianceLockStatus(const Parameter i1, const Parameter i2) const
bool GetParameterErrorLockStatus(const Parameter i) const
utl::ParameterStorage< Parameter > fStationQuantities
~StationRecData()=default
std::vector< std::pair< Parameter, Parameter > > GetCovarianceEnumVector() const
std::vector< Parameter > GetEnumVector() const
double GetParameterCovariance(const Parameter i1, const Parameter i2) const
double GetParameter(const Parameter i) const
bool HasParameter(const Parameter i) const
static const std::string & CurrentModule()
void SetParameter(Parameter i, double value, bool lock=true)
void DeleteParameterCovariance(const Parameter i1, const Parameter i2)
StationRecData()=default
bool HasParameterCovariance(const Parameter i1, const Parameter i2) const
Definition: XbArray.h:7

, generated on Tue Sep 26 2023.