12#ifndef WSFCOVERAGENUMBEROFGAPS_HPP
13#define WSFCOVERAGENUMBEROFGAPS_HPP
15#include "wsf_coverage_export.h"
45 bool ProcessInput(UtInput& aInput)
override;
47 double GetDefaultValue()
const override;
50 double GetMeasuredValue(
const GridAsset& aGridAsset)
const override;
52 void CollectionStarting(
Coverage& aCoverage,
double aSimTime)
override;
55 std::string GetValueHeader()
const override;
57 constexpr static const char*
cTYPE{
"WSF_NUMBER_OF_GAPS_MOE"};
85 bool InitializeP(
Coverage& aCoverage)
override;
86 void CollectionCompletingP(
Coverage& aCoverage,
double aSimTime)
override;
88 double ComputeValue(std::vector<AccessInterval>& aGaps)
const;
90 double ComputeTotal(
const std::vector<AccessInterval>& aGaps)
const;
92 double ComputeInSpan(
const std::vector<AccessInterval>& aGaps)
const;
94 double ComputeMax(
const std::vector<AccessInterval>& aGaps)
const;
96 double ComputeMin(
const std::vector<AccessInterval>& aGaps)
const;
98 double ComputeMean(
const std::vector<AccessInterval>& aGaps)
const;
100 double ComputeSpanPerTime(
const std::vector<AccessInterval>& aGaps)
const;
102 void ComputeSampleCount(
const std::vector<AccessInterval>& aGaps, std::vector<int>& aSamples)
const;
106 static SubType GetSubtypeFromIdentifier(
const std::string& aIdentifier);
109 static int SubtypeHasParameter(SubType aSubType);
112 std::map<GridAsset, std::vector<AccessInterval>> mIntervals{};
115 std::map<GridAsset, double> mData{};
118 UtCalendar mStartEpoch{};
121 AccessInterval mCoverageInterval{};
124 SubType mSubType{SubType::cUNKNOWN};
127 double mSampleSpan{UtCalendar::cSEC_IN_DAY};
130 double mMinParameter{-1.0};
133 double mMaxParameter{-1.0};
void SetType(WsfStringId aType)
Definition WsfObject.cpp:172
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
Definition WsfCoverageAccessInterval.hpp:28
Definition WsfCoverage.hpp:57
Definition WsfCoverageAsset.hpp:81
Definition WsfCoverageAsset.hpp:37
Measure(const WsfScenario &aScenario)
Definition WsfCoverageMeasure.hpp:45
static constexpr const char * cTYPE
Definition WsfCoverageNumberOfGaps.hpp:57
double GetMaxParameter() const
Definition WsfCoverageNumberOfGaps.hpp:82
SubType GetSubType() const
Definition WsfCoverageNumberOfGaps.hpp:71
NumberOfGaps(const NumberOfGaps &aOther)=default
double GetMinParameter() const
Definition WsfCoverageNumberOfGaps.hpp:78
double GetSampleSpan() const
If the subtype is a per-time subtype, then this is the duration of the sample in seconds.
Definition WsfCoverageNumberOfGaps.hpp:74
~NumberOfGaps() override=default
NumberOfGaps * Clone() const override
Definition WsfCoverageNumberOfGaps.hpp:43
SubType
The available sub-types for this MOE.
Definition WsfCoverageNumberOfGaps.hpp:61
NumberOfGaps(const WsfScenario &aScenario)
Definition WsfCoverageNumberOfGaps.hpp:33
Definition WsfCoverage.cpp:35
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32