UFO
TrackCheckShipDiagnostics.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 2020 Met Office UK
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  */
7 
8 #ifndef UFO_FILTERS_TRACKCHECKSHIPDIAGNOSTICS_H_
9 #define UFO_FILTERS_TRACKCHECKSHIPDIAGNOSTICS_H_
10 
11 #include <utility>
12 #include <vector>
13 
15 namespace ufo {
17 {
18  typedef std::vector<TrackCheckShip::ObservationStatistics> ObsStatsVec;
20  typedef std::pair<ObsStatsVec, TrkStats> SingleTrackInitialCalculationResults;
21  typedef std::pair<std::vector<size_t>, int> FirstIterativeRemovalInfo;
22  std::vector<SingleTrackInitialCalculationResults> multipleTrackInitialCalculationResults_;
23  std::vector<ObsStatsVec> calculatedResultsSimultaneousDeferred_;
24  std::vector<bool> earlyBreaks_;
25  std::vector<FirstIterativeRemovalInfo> firstIterativeRemovalInfo_;
27  timeSum_; // category nine
31  public:
32  /// \brief Updates the collection of track diagnostics to include
33  /// the calculated values from a new track.
35  singleTrackInitalCalcResults) {
36  multipleTrackInitialCalculationResults_.push_back(singleTrackInitalCalcResults);
37  }
38  /// \brief Returns the full collection of track diagnostics, separated by
39  /// track.
40  const std::vector<SingleTrackInitialCalculationResults> &getInitialCalculationResults() const {
42  }
43 
44  /// \brief Stores the indicator as to if the track was deemed not worth
45  /// checking after the initial calculations were performed
46  void storeEarlyBreakResult(bool result) {
47  earlyBreaks_.push_back(result);
48  }
49  /// \brief Returns the collection of indicators as to which tracks were
50  /// deemed not worth checking.
51  const std::vector<bool> &getEarlyBreaks() const {
52  return earlyBreaks_;
53  }
54 
55  /// \brief Stores the recalculations of values after deferring simultaneous observations.
56  ///
57  /// Does not store counter values, because those are not updated after the first iteration.
59  calculatedResultsSimultaneousDeferred_.push_back(obsStatsVec);
60  }
61 
62  /// \brief Returns the recalculated values calculated after deferring simultaneous
63  /// observations
64  const std::vector<ObsStatsVec> &getCalculatedResultsSimultaneousDeferred() const {
66  }
67 
68  /// \brief Stores the observation(s) removed on the first iteration of the main removal loop.
70  const FirstIterativeRemovalInfo &firstIterativeRemovalInfo)
71  {
72  firstIterativeRemovalInfo_.push_back(firstIterativeRemovalInfo);
73  }
74 
75  const std::vector<FirstIterativeRemovalInfo> &getFirstIterativeRemovalInfo() const
76  {
78  }
79 
80  std::vector<double> getDistanceSum() const {
81  return distanceSum_;
82  }
83 
84  void storeDistanceSum(const double &distanceSum) {
85  distanceSum_.push_back(distanceSum);
86  }
87 
88  std::vector<double> getDistancePrevObsOmitted() const {
90  }
91 
92  void storeDistancePrevObsOmitted(double distancePrevObsOmitted) {
93  distancePrevObsOmitted_.push_back(distancePrevObsOmitted);
94  }
95 
96  std::vector<double> getDistanceCurrentObsOmitted() const {
98  }
99  void storeDistanceCurrentObsOmitted(const double &distanceCurrentObsOmitted) {
100  distanceCurrentObsOmitted_.push_back(distanceCurrentObsOmitted);
101  }
102  std::vector<double> getTimeSum() const {
103  return timeSum_;
104  }
105  void storeTimeSum(const double &timeSum) {
106  timeSum_.push_back(timeSum);
107  }
108  std::vector<double> getPreviousSegmentDistanceProportion() const {
110  }
111  void storePreviousSegmentDistanceProportion(const double &previousSegmentDistanceProportion) {
112  previousSegmentDistanceProportion_.push_back(previousSegmentDistanceProportion);
113  }
116  }
118  const double &previousObservationDistanceAveragedProportion) {
120  previousObservationDistanceAveragedProportion);
121  }
122  std::vector<double> getPreviousSegmentTimeProportion() const {
124  }
125  void storePreviousSegmentTimeProportion(const double &previousSegmentTimeProportion) {
126  previousSegmentTimeProportion_.push_back(previousSegmentTimeProportion);
127  }
128  std::vector<double> getPreviousAndFastestSegmentTimeProportion() const {
130  }
132  const double &previousAndFastestSegmentTimeProportion) {
133  previousAndFastestSegmentTimeProportion_.push_back(previousAndFastestSegmentTimeProportion);
134  }
135 };
136 } // namespace ufo
137 
138 #endif // UFO_FILTERS_TRACKCHECKSHIPDIAGNOSTICS_H_
ufo::TrackCheckShipDiagnostics
Definition: TrackCheckShipDiagnostics.h:17
ufo::TrackCheckShipDiagnostics::storeDistanceSum
void storeDistanceSum(const double &distanceSum)
Definition: TrackCheckShipDiagnostics.h:84
ufo::TrackCheckShipDiagnostics::getPreviousAndFastestSegmentTimeProportion
std::vector< double > getPreviousAndFastestSegmentTimeProportion() const
Definition: TrackCheckShipDiagnostics.h:128
ufo::TrackCheckShipDiagnostics::FirstIterativeRemovalInfo
std::pair< std::vector< size_t >, int > FirstIterativeRemovalInfo
Definition: TrackCheckShipDiagnostics.h:21
ufo::TrackCheckShipDiagnostics::TrkStats
TrackCheckShip::TrackStatistics TrkStats
Definition: TrackCheckShipDiagnostics.h:19
ufo::TrackCheckShipDiagnostics::storePreviousObservationDistanceAveragedProportion
void storePreviousObservationDistanceAveragedProportion(const double &previousObservationDistanceAveragedProportion)
Definition: TrackCheckShipDiagnostics.h:117
ufo::TrackCheckShipDiagnostics::storePreviousAndFastestSegmentTimeProportion
void storePreviousAndFastestSegmentTimeProportion(const double &previousAndFastestSegmentTimeProportion)
Definition: TrackCheckShipDiagnostics.h:131
ufo::TrackCheckShipDiagnostics::previousSegmentDistanceProportion_
std::vector< double > previousSegmentDistanceProportion_
Definition: TrackCheckShipDiagnostics.h:28
ufo::TrackCheckShipDiagnostics::getDistancePrevObsOmitted
std::vector< double > getDistancePrevObsOmitted() const
Definition: TrackCheckShipDiagnostics.h:88
ufo::TrackCheckShipDiagnostics::ObsStatsVec
std::vector< TrackCheckShip::ObservationStatistics > ObsStatsVec
Definition: TrackCheckShipDiagnostics.h:18
ufo::TrackCheckShipDiagnostics::previousObservationDistanceAveragedProportion_
std::vector< double > previousObservationDistanceAveragedProportion_
Definition: TrackCheckShipDiagnostics.h:29
ufo::TrackCheckShipDiagnostics::storeCalculatedResultsSimultaneousDeferred
void storeCalculatedResultsSimultaneousDeferred(ObsStatsVec obsStatsVec)
Stores the recalculations of values after deferring simultaneous observations.
Definition: TrackCheckShipDiagnostics.h:58
TrackCheckShip.h
ufo::TrackCheckShip::TrackStatistics
A container for all track-wise counters and calculations that indicate the overall quality of the tra...
Definition: src/ufo/filters/TrackCheckShip.h:101
ufo::TrackCheckShipDiagnostics::firstIterativeRemovalInfo_
std::vector< FirstIterativeRemovalInfo > firstIterativeRemovalInfo_
Definition: TrackCheckShipDiagnostics.h:25
ufo::TrackCheckShipDiagnostics::getFirstIterativeRemovalInfo
const std::vector< FirstIterativeRemovalInfo > & getFirstIterativeRemovalInfo() const
Definition: TrackCheckShipDiagnostics.h:75
ufo::TrackCheckShipDiagnostics::previousSegmentTimeProportion_
std::vector< double > previousSegmentTimeProportion_
Definition: TrackCheckShipDiagnostics.h:29
ufo
Definition: RunCRTM.h:27
ufo::TrackCheckShipDiagnostics::getInitialCalculationResults
const std::vector< SingleTrackInitialCalculationResults > & getInitialCalculationResults() const
Returns the full collection of track diagnostics, separated by track.
Definition: TrackCheckShipDiagnostics.h:40
ufo::TrackCheckShipDiagnostics::storeDistanceCurrentObsOmitted
void storeDistanceCurrentObsOmitted(const double &distanceCurrentObsOmitted)
Definition: TrackCheckShipDiagnostics.h:99
ufo::TrackCheckShipDiagnostics::storeInitialCalculationResults
void storeInitialCalculationResults(SingleTrackInitialCalculationResults singleTrackInitalCalcResults)
Updates the collection of track diagnostics to include the calculated values from a new track.
Definition: TrackCheckShipDiagnostics.h:34
ufo::TrackCheckShipDiagnostics::getCalculatedResultsSimultaneousDeferred
const std::vector< ObsStatsVec > & getCalculatedResultsSimultaneousDeferred() const
Returns the recalculated values calculated after deferring simultaneous observations.
Definition: TrackCheckShipDiagnostics.h:64
ufo::TrackCheckShipDiagnostics::getPreviousSegmentTimeProportion
std::vector< double > getPreviousSegmentTimeProportion() const
Definition: TrackCheckShipDiagnostics.h:122
ufo::TrackCheckShipDiagnostics::timeSum_
std::vector< double > timeSum_
Definition: TrackCheckShipDiagnostics.h:27
ufo::TrackCheckShipDiagnostics::storePreviousSegmentTimeProportion
void storePreviousSegmentTimeProportion(const double &previousSegmentTimeProportion)
Definition: TrackCheckShipDiagnostics.h:125
ufo::TrackCheckShipDiagnostics::distanceSum_
std::vector< double > distanceSum_
Definition: TrackCheckShipDiagnostics.h:26
ufo::TrackCheckShipDiagnostics::SingleTrackInitialCalculationResults
std::pair< ObsStatsVec, TrkStats > SingleTrackInitialCalculationResults
Definition: TrackCheckShipDiagnostics.h:20
ufo::TrackCheckShipDiagnostics::storeFirstIterativeRemovalInfo
void storeFirstIterativeRemovalInfo(const FirstIterativeRemovalInfo &firstIterativeRemovalInfo)
Stores the observation(s) removed on the first iteration of the main removal loop.
Definition: TrackCheckShipDiagnostics.h:69
ufo::TrackCheckShipDiagnostics::getPreviousSegmentDistanceProportion
std::vector< double > getPreviousSegmentDistanceProportion() const
Definition: TrackCheckShipDiagnostics.h:108
ufo::TrackCheckShipDiagnostics::storeDistancePrevObsOmitted
void storeDistancePrevObsOmitted(double distancePrevObsOmitted)
Definition: TrackCheckShipDiagnostics.h:92
ufo::TrackCheckShipDiagnostics::storeTimeSum
void storeTimeSum(const double &timeSum)
Definition: TrackCheckShipDiagnostics.h:105
ufo::TrackCheckShipDiagnostics::previousAndFastestSegmentTimeProportion_
std::vector< double > previousAndFastestSegmentTimeProportion_
Definition: TrackCheckShipDiagnostics.h:30
ufo::TrackCheckShipDiagnostics::earlyBreaks_
std::vector< bool > earlyBreaks_
Definition: TrackCheckShipDiagnostics.h:24
ufo::TrackCheckShipDiagnostics::getDistanceCurrentObsOmitted
std::vector< double > getDistanceCurrentObsOmitted() const
Definition: TrackCheckShipDiagnostics.h:96
ufo::TrackCheckShipDiagnostics::calculatedResultsSimultaneousDeferred_
std::vector< ObsStatsVec > calculatedResultsSimultaneousDeferred_
Definition: TrackCheckShipDiagnostics.h:23
ufo::TrackCheckShipDiagnostics::multipleTrackInitialCalculationResults_
std::vector< SingleTrackInitialCalculationResults > multipleTrackInitialCalculationResults_
Definition: TrackCheckShipDiagnostics.h:22
ufo::TrackCheckShipDiagnostics::storePreviousSegmentDistanceProportion
void storePreviousSegmentDistanceProportion(const double &previousSegmentDistanceProportion)
Definition: TrackCheckShipDiagnostics.h:111
ufo::TrackCheckShipDiagnostics::getTimeSum
std::vector< double > getTimeSum() const
Definition: TrackCheckShipDiagnostics.h:102
ufo::TrackCheckShipDiagnostics::distancePrevObsOmitted_
std::vector< double > distancePrevObsOmitted_
Definition: TrackCheckShipDiagnostics.h:26
ufo::TrackCheckShipDiagnostics::storeEarlyBreakResult
void storeEarlyBreakResult(bool result)
Stores the indicator as to if the track was deemed not worth checking after the initial calculations ...
Definition: TrackCheckShipDiagnostics.h:46
ufo::TrackCheckShipDiagnostics::distanceCurrentObsOmitted_
std::vector< double > distanceCurrentObsOmitted_
Definition: TrackCheckShipDiagnostics.h:26
ufo::TrackCheckShipDiagnostics::getDistanceSum
std::vector< double > getDistanceSum() const
Definition: TrackCheckShipDiagnostics.h:80
ufo::TrackCheckShipDiagnostics::getPreviousObservationDistanceAveragedProportion
std::vector< double > getPreviousObservationDistanceAveragedProportion() const
Definition: TrackCheckShipDiagnostics.h:114
ufo::TrackCheckShipDiagnostics::getEarlyBreaks
const std::vector< bool > & getEarlyBreaks() const
Returns the collection of indicators as to which tracks were deemed not worth checking.
Definition: TrackCheckShipDiagnostics.h:51