12#ifndef WSFTARGETTYPEREPORTING_HPP
13#define WSFTARGETTYPEREPORTING_HPP
15#include "wsf_export.h"
24#include "UtRandom.hpp"
49 bool aSensorReportsType,
68 double DrawForType(ut::Random& aRandom,
WsfStringId& aReportedTargetType);
69 double DrawForType(std::list<WsfStringId>& aEmitterList,
WsfStringId& aReportedTargetType);
92 using ReportStateMap = std::map<size_t, ReportState>;
97 void AddTargetReportTypes(UtInput& aInput,
100 std::list<WsfStringId>& aTypeList);
108 double mDefaultTimeToDeclare;
109 double mDefaultTimeToReevaluate;
110 bool mReportingRulesSupplied;
111 ReportStateMap mTargetReportState;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfEM_Xmtr.hpp:55
Definition WsfObject.hpp:40
Definition WsfSensorResult.hpp:27
std::vector< std::pair< double, WsfStringId > > ConfidenceList
Type definition for the confidence list for reporting detection confidences.
Definition WsfTargetTypeReporting.hpp:55
std::vector< std::pair< std::list< WsfStringId >, WsfStringId > > EmitterList
Definition WsfTargetTypeReporting.hpp:56
bool ProcessInput(UtInput &aInput)
Definition WsfTargetTypeReporting.cpp:49
std::map< WsfStringId, ReportingRulesRef > ReportingRulesMap
Definition WsfTargetTypeReporting.hpp:79
std::shared_ptr< ReportingRules > ReportingRulesRef
Definition WsfTargetTypeReporting.hpp:78
~WsfTargetTypeReporting()=default
void RemoveAllTargetReportStates()
Definition WsfTargetTypeReporting.cpp:250
WsfTargetTypeReporting & operator=(const WsfTargetTypeReporting &aSrc)=delete
void AddTargetReportState(double aSimTime, WsfPlatform *aTargetPtr)
Create an emitter report state for the specified transmitter if it doesn't already exist.
Definition WsfTargetTypeReporting.cpp:232
void UpdateReportedTargetType(double aSimTime, bool aSensorReportsType, WsfSensorResult &aResult, WsfPlatform *aTargetPtr, WsfTrack *aTrackPtr)
Definition WsfTargetTypeReporting.cpp:266
void RemoveTargetReportState(size_t aPlatformIndex)
Definition WsfTargetTypeReporting.cpp:256
WsfTargetTypeReporting()
Definition WsfTargetTypeReporting.cpp:27
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfTargetTypeReporting.hpp:82
ReportingRulesRef mRules
Definition WsfTargetTypeReporting.hpp:88
WsfStringId mTruthId
Definition WsfTargetTypeReporting.hpp:85
double mNextTimeToEvaluate
Definition WsfTargetTypeReporting.hpp:87
unsigned int mUniqueId
Definition WsfTargetTypeReporting.hpp:83
WsfStringId mTargetDerivedId
Definition WsfTargetTypeReporting.hpp:86
double mReportConfidence
Definition WsfTargetTypeReporting.hpp:84
Definition WsfTargetTypeReporting.hpp:59
EmitterList mEmitterTable
Definition WsfTargetTypeReporting.hpp:74
double mTimeToReevaluate
Definition WsfTargetTypeReporting.hpp:72
ReportingType
Definition WsfTargetTypeReporting.hpp:61
@ cTRUTH
Definition WsfTargetTypeReporting.hpp:64
@ cEMITTERS
Definition WsfTargetTypeReporting.hpp:62
@ cTABLE
Definition WsfTargetTypeReporting.hpp:63
@ cNOTHING
Definition WsfTargetTypeReporting.hpp:65
ReportingType mReportingType
Definition WsfTargetTypeReporting.hpp:75
double mTimeToDeclare
Definition WsfTargetTypeReporting.hpp:71
ConfidenceList mConfidenceTable
Definition WsfTargetTypeReporting.hpp:73