12#ifndef WSFEMITTERTYPEREPORTING_HPP
13#define WSFEMITTERTYPEREPORTING_HPP
15#include "wsf_export.h"
24#include "UtRandom.hpp"
49 bool aSensorReportsType,
66 double DrawForType(ut::Random& aRandom,
WsfStringId& aReportedEmitterType);
88 using TargetEmitterPair = std::pair<size_t, unsigned int>;
89 using ReportStateMap = std::map<TargetEmitterPair, ReportState>;
91 void ProcessEmitterReportTypes(UtInput& aInput);
92 void ProcessTruthTypeInput(UtInput& aInput);
94 void AddEmitterReportTypes(UtInput& aInput,
97 std::list<WsfStringId>& aTypeList);
105 double mDefaultTimeToDeclare;
106 double mDefaultTimeToReevaluate;
107 bool mReportingRulesSupplied;
109 ReportStateMap mEmitterReportState;
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
std::vector< std::pair< double, WsfStringId > > ConfidenceList
Type definition for the confidence list for reporting detection confidences.
Definition WsfEmitterTypeReporting.hpp:55
void UpdateReportedEmitterType(double aSimTime, bool aSensorReportsType, WsfSensorResult &aResult, WsfPlatform *aTarget, WsfTrack *aTrackPtr)
Definition WsfEmitterTypeReporting.cpp:252
WsfEmitterTypeReporting()
Definition WsfEmitterTypeReporting.cpp:26
void RemoveAllEmitterReportStates()
Definition WsfEmitterTypeReporting.cpp:233
std::map< WsfStringId, ReportingRulesRef > ReportingRulesMap
Definition WsfEmitterTypeReporting.hpp:75
void AddEmitterReportState(double aSimTime, WsfEM_Xmtr *aXmtrPtr)
Create an emitter report state for the specified transmitter if it doesn't already exist.
Definition WsfEmitterTypeReporting.cpp:213
bool ProcessInput(UtInput &aInput)
Definition WsfEmitterTypeReporting.cpp:64
~WsfEmitterTypeReporting()=default
WsfEmitterTypeReporting & operator=(const WsfEmitterTypeReporting &aRhs)
Definition WsfEmitterTypeReporting.cpp:48
void RemoveEmitterReportState(size_t aPlatformIndex, unsigned int aUniqueXmtrPartId)
Definition WsfEmitterTypeReporting.cpp:239
std::shared_ptr< ReportingRules > ReportingRulesRef
Definition WsfEmitterTypeReporting.hpp:74
Definition WsfObject.hpp:40
Definition WsfSensorResult.hpp:27
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Definition WsfEmitterTypeReporting.hpp:78
ReportingRulesRef mRules
Definition WsfEmitterTypeReporting.hpp:84
WsfStringId mTruthId
Definition WsfEmitterTypeReporting.hpp:81
WsfStringId mEmitterDerivedId
Definition WsfEmitterTypeReporting.hpp:82
double mReportConfidence
Definition WsfEmitterTypeReporting.hpp:80
unsigned int mUniqueXmtrPartId
Definition WsfEmitterTypeReporting.hpp:79
double mNextTimeToEvaluate
Definition WsfEmitterTypeReporting.hpp:83
Definition WsfEmitterTypeReporting.hpp:58
ConfidenceList mConfidenceTable
Definition WsfEmitterTypeReporting.hpp:70
double mTimeToReevaluate
Definition WsfEmitterTypeReporting.hpp:69
ReportingType mReportingType
Definition WsfEmitterTypeReporting.hpp:71
ReportingType
Definition WsfEmitterTypeReporting.hpp:60
@ cTABLE
Definition WsfEmitterTypeReporting.hpp:61
@ cTRUTH
Definition WsfEmitterTypeReporting.hpp:62
@ cNOTHING
Definition WsfEmitterTypeReporting.hpp:63
double mTimeToDeclare
Definition WsfEmitterTypeReporting.hpp:68