1 #ifndef MHO_DelayModel_HH__
2 #define MHO_DelayModel_HH__
122 template<
typename XCoeffVectorType >
123 void EvaluateDelaySpline(
const XCoeffVectorType& coeff,
double delta_t,
double* results);
134 void CheckSplineInterval(
int n_intervals,
double tdiff,
int& int_no, std::string station_id);
143 template<
typename XTagType > XTagType RetrieveTag(
station_coord_type* data, std::string key);
146 std::string fRefTimeString;
157 double fRefClockRate;
161 double fRefStationDelay;
172 template<
typename XCoeffVectorType >
173 void MHO_DelayModel::EvaluateDelaySpline(
const XCoeffVectorType& coeff,
double delta_t,
double* results)
175 #define DELAY_INDEX 0
177 #define ACCEL_INDEX 2
178 #define DELAY_COEFF_INDEX 0
185 double tp, tpm1, tpm2, c;
186 for(
int p = 0; p < n_coeff; p++)
189 tp = std::pow(delta_t, p);
202 tpm1 = std::pow(delta_t, p - 1);
208 tpm2 = std::pow(delta_t, p - 2);
221 template<
typename XTagType > XTagType MHO_DelayModel::RetrieveTag(
station_coord_type* data, std::string key)
225 bool ok = data->Retrieve(key,
value);
228 msg_fatal(
"calibration",
"data tag with key: " << key <<
" is missing from station data." << eom);
#define msg_fatal(xKEY, xCONTENT)
Definition: MHO_Message.hh:234
Class MHO_DelayModel.
Definition: MHO_DelayModel.hh:22
void ComputeModel()
Calculates delay model for reference and remote stations using fourfit reference time.
Definition: MHO_DelayModel.cc:20
double GetDelay()
Getter for delay.
Definition: MHO_DelayModel.hh:58
MHO_DelayModel()
Definition: MHO_DelayModel.cc:9
void SetFourfitReferenceTimeVexString(std::string fourfit_reftime_string)
Setter for fourfit reference time vex string.
Definition: MHO_DelayModel.hh:32
double GetAcceleration()
Getter for acceleration.
Definition: MHO_DelayModel.hh:72
double GetRate()
Getter for rate.
Definition: MHO_DelayModel.hh:65
double GetRefDelay()
Getter for ref delay.
Definition: MHO_DelayModel.hh:93
double GetRefStationDelay()
Getter for ref station delay.
Definition: MHO_DelayModel.hh:107
void SetReferenceStationClockRate(double clock_rate)
Setter for reference station clock rate.
Definition: MHO_DelayModel.hh:86
double GetRefRate()
Getter for ref rate.
Definition: MHO_DelayModel.hh:100
virtual ~MHO_DelayModel()
Definition: MHO_DelayModel.cc:18
void SetReferenceStationData(station_coord_type *ref_data)
Setter for reference station data.
Definition: MHO_DelayModel.hh:39
void SetRemoteStationData(station_coord_type *rem_data)
Setter for remote station data.
Definition: MHO_DelayModel.hh:46
void SetReferenceStationClockOffset(double clock_off)
Setter for reference station clock offset.
Definition: MHO_DelayModel.hh:79
std::size_t GetSize() const
get the total size of the array
Definition: MHO_NDArrayWrapper.hh:119
Class MHO_TableContainer.
Definition: MHO_TableContainer.hh:36
Definition: MHO_ChannelLabeler.hh:17
MHO_TableContainer< spline_coeff_type, station_coord_axis_pack > station_coord_type
Definition: MHO_StationContainers.hh:26