REvent/StationSimData.h
Go to the documentation of this file.
1 #ifndef _revt_StationSimData_h_
2 #define _revt_StationSimData_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> // using same enum as rec
10 #include <revt/Station.h>
11 
12 #include <string>
13 #include <vector>
14 
15 
16 namespace revt {
17 
18  class Station;
19 
20 
30 
31  public:
32  typedef StationRRecDataQuantities Parameter;
33 
34  double GetParameter(const Parameter i) const
35  { return fStationQuantities.GetParameter(i, CurrentModule()); }
36 
37  bool GetParameterLockStatus(const Parameter i) const
38  { return fStationQuantities.GetParameterLockStatus(i, CurrentModule()); }
39 
40  double GetParameterError(const Parameter i) const
41  { return sqrt(fStationQuantities.GetParameterCovariance(i, i, CurrentModule())); }
42 
44  { return fStationQuantities.GetParameterCovarianceLockStatus(i, i, CurrentModule()); }
45 
46  double GetParameterCovariance(const Parameter i1, const Parameter i2) const
47  { return fStationQuantities.GetParameterCovariance(i1, i2, CurrentModule()); }
48 
49  bool GetParameterCovarianceLockStatus(const Parameter i1, const Parameter i2) const
50  { return fStationQuantities.GetParameterCovarianceLockStatus(i1, i2, CurrentModule()); }
51 
52  bool HasParameter(const Parameter i) const
53  { return fStationQuantities.HasParameter(i); }
54 
55  bool HasParameterError(const Parameter i) const
56  { return fStationQuantities.HasParameterCovariance(i, i); }
57 
58  bool HasParameterCovariance(const Parameter i1 , const Parameter i2) const
59  { return fStationQuantities.HasParameterCovariance(i1, i2); }
60 
61  void SetParameter(const Parameter i, const double value, const bool lock = true)
62  { fStationQuantities.SetParameter(i, value, lock, CurrentModule()); }
63 
64  void SetParameterError(const Parameter i, const double value, const bool lock = true)
65  { fStationQuantities.SetParameterCovariance(i, i, value*value, lock, CurrentModule()); }
66 
67  void SetParameterCovariance(const Parameter i1, const Parameter i2,
68  const double value, const bool lock = true)
69  { fStationQuantities.SetParameterCovariance(i1, i2, value, lock, CurrentModule()); }
70 
71  void DeleteParameter(const Parameter i)
72  { fStationQuantities.DeleteParameter(i, CurrentModule()); }
73 
75  { fStationQuantities.DeleteParameterCovariance(i1, i2, CurrentModule()); }
76 
79 
80  std::vector<Parameter> GetEnumVector() const
81  { return fStationQuantities.GetEnumVector(); }
82 
83  std::vector<std::pair<Parameter, Parameter>> GetCovarianceEnumVector() const
84  { return fStationQuantities.GetCovarianceEnumVector(); }
85 
88  bool GetPulseFound() const { return fPulseFound; }
89 
92  void SetPulseFound(const bool pulsefound) { fPulseFound = pulsefound; }
93 
94  private:
95  StationSimData() = default; // private so that only Station can create a StationSimData object
96  ~StationSimData() = default;
97 
98  static const std::string& CurrentModule() { return fwk::RunController::GetInstance().GetCurrentModule(); }
99 
101 
103 
104  bool fPulseFound = false;
105 
106  friend class Station;
108 
109  };
110 
111 }
112 
113 
114 #endif
pointer with built-in initialization, deletion, deep copying
Definition: ShadowPtr.h:163
std::vector< Parameter > GetEnumVector() const
Station Level Simulated Data
StationRRecDataQuantities Parameter
double GetParameterCovariance(const Parameter i1, const Parameter i2) const
bool HasParameter(const IndexEnum param) const
determine whether a parameter has been set
StationTimeSeries fSimulatedTrace
void SetParameterCovariance(const Parameter i1, const Parameter i2, const double value, const bool lock=true)
double GetParameter(const Parameter i) const
const StationTimeSeries & GetSimulatedTrace() const
bool HasParameterCovariance(const Parameter i1, const Parameter i2) const
bool fPulseFound
a simulated radio trace that was associated to this station
bool HasParameterError(const Parameter i) const
class to hold data at the radio Station level.
void DeleteParameter(const Parameter i)
void SetSimulatedTrace(const StationTimeSeries &ts)
bool GetParameterErrorLockStatus(const Parameter i) const
~StationSimData()=default
static const std::string & CurrentModule()
void DeleteParameterCovariance(const Parameter i1, const Parameter i2)
bool GetParameterCovarianceLockStatus(const Parameter i1, const Parameter i2) const
std::vector< std::pair< Parameter, Parameter > > GetCovarianceEnumVector() const
Template class for a FADC data or calibrated data container. Use the typedefs (TraceD, TraceI, etc.) defined in Trace-fwd.h.
Definition: Trace-fwd.h:19
StationSimData()=default
utl::ParameterStorage< Parameter > fStationQuantities
double GetParameterError(const Parameter i) const
void SetParameter(const Parameter i, const double value, const bool lock=true)
void SetParameterError(const Parameter i, const double value, const bool lock=true)
bool HasParameter(const Parameter i) const
bool GetParameterLockStatus(const Parameter i) const
void SetPulseFound(const bool pulsefound)
Definition: XbArray.h:7

, generated on Tue Sep 26 2023.