|
WSF
|
#include <WsfEW_Result.hpp>


Public Member Functions | |
| WsfEW_Result ()=default | |
| ~WsfEW_Result () override=default | |
| Public Member Functions inherited from WsfComponentT< WsfEM_Interaction > | |
| WsfComponentT () | |
| WsfComponentT & | operator= (const WsfComponentT &) noexcept |
| ~WsfComponentT () override=default | |
| virtual void | ComponentParentChanged (ParentType *aParentPtr) |
| ParentType * | GetComponentParent () const |
| void | SetComponentParent (ParentType *aParentPtr) |
| Public Member Functions inherited from WsfComponent | |
| virtual | ~WsfComponent ()=default |
| virtual int | GetComponentInitializationOrder () const |
| template<typename T> | |
| bool | QueryInterfaceT (T *&aRolePtr) |
| bool | ComponentHasRole (int aRole) |
| Returns true if the component has the specified role. | |
| virtual bool | PreInitialize (double aSimTime) |
| virtual bool | Initialize (double aSimTime) |
| virtual bool | Initialize2 (double aSimTime) |
| virtual void | PreInput () |
| virtual bool | ProcessInput (UtInput &aInput) |
Static Public Member Functions | |
| static WsfEW_Result * | Find (const WsfEM_Interaction &aEM_Interaction) |
| static WsfEW_Result & | FindOrCreate (WsfEM_Interaction &aResult) |
Component infrastructure methods | |
| WsfEW_Effects | mEW_Effects |
| EW Effects result data and methods. | |
| double | mNoiseJammerPower {0.0} |
| double | mPulseJammerPower {0.0} |
| double | mCoherentJammerPower {0.0} |
| bool | mPerceivesCoherentJamming {false} |
| True if coherent (FT) jamming is perceived as determined by the coherent JNR threshold. | |
| bool | mPerceivesContJamming {false} |
| True if noise type jamming is perceived as determined by the noise JNR threshold. | |
| bool | mPerceivesPulseJamming {false} |
| True if Pulse type jamming is perceived as determined by the pulse JNR threshold. | |
| WsfComponent * | CloneComponent () const override |
| WsfStringId | GetComponentName () const override |
| const int * | GetComponentRoles () const override |
| void * | QueryInterface (int aRole) override |
| void | Print (ut::log::MessageStream &aMsgStream, WsfEM_Interaction &aEM_Interaction) override |
| Print the result data to stdout. | |
| void | PrintStatus (ut::log::MessageStream &aMsgStream, WsfEM_Interaction &aEM_Interaction) override |
| void | Reset () override |
| bool | PrintEventOutput (std::ostream &aStream) override |
| void | PrintEventOutput_Powers (std::ostream &aStream) override |
| bool | PrintCSV_EventOutput (std::ostream &aStream) override |
| bool | PrintCSV_EventOutput_Powers (std::ostream &aStream) override |
Additional Inherited Members | |
| Public Types inherited from WsfComponentT< WsfEM_Interaction > | |
| typedef WsfEM_Interaction | ParentType |
| This is needed to support the WsfComponentList template. | |
A component attached to WsfEM_Interaction that contains the results of EW interactions. This component is common to both comm and sensor interactions as they are so similar the sensor result only contained an additional element for false targets.) This ensures that a component attached in WsfRF_Jammer will be usable by both the EW comm and sensor components.
|
default |
Referenced by CloneComponent(), Find(), and FindOrCreate().
|
overridedefault |
References WsfEM_InteractionComponent::WsfEM_Interaction.
|
overridevirtual |
Clones a component. May return null if component does not support clone.
Implements WsfComponent.
References WsfEW_Result().
|
static |
References WsfComponentList::FindByRole(), WsfEM_Interaction::GetComponents(), WsfEM_InteractionComponent::WsfEM_Interaction, and WsfEW_Result().
Referenced by WsfRF_Repeater::CheckDetectAndUpdate(), WsfFalseTargetBlip::ComputeRcvdPower(), WsfRF_Jammer::ComputeSingleJammerEffect(), WsfEW_SensorComponent::ComputeSphericalMeasurementErrors(), WsfRF_Jammer::ComputeTotalJammerEffects(), WsfRadarMTD_SignalProcessor::Execute(), WsfRadarMTI_SignalProcessor::Execute(), WsfRadarPD_SignalProcessor::Execute(), WsfRadarSTC_SignalProcessor::Execute(), FindOrCreate(), WsfFalseTarget::PowerSufficiencyCheck(), wsf::event::JammingAttempt::Print(), wsf::event::JammingAttempt::PrintCSV(), WsfEW_CoverPulseEffect::UpdateEffects(), WsfEW_PowerEffect::UpdateEffects(), WsfEW_RepeaterEffect::UpdateEffects(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_TrackEffect::UpdateEffects(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), and WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT().
|
static |
References WsfEM_Interaction::AddComponent(), Find(), WsfEM_InteractionComponent::WsfEM_Interaction, and WsfEW_Result().
Referenced by WsfEW_SensorComponent::AttemptToDetect(), WsfEW_SensorComponent::AttemptToDetectFalseTarget(), WsfEW_CommComponent::AttemptToReceive(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeSingleJammerEffect(), WsfRF_Jammer::ComputeTotalJammerEffects(), and WsfEW_SensorComponent::EW_Beam::DetectJamStrobes().
|
overridevirtual |
Returns the component's name. Each component in a component list has a unique name. Names are usually defined by the user, but they may also be generated by code and prefixed with a '#' to guarantee no collisions with user-defined names.
Implements WsfComponent.
|
overridevirtual |
Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:
Implements WsfComponent.
References cWSF_COMPONENT_EW_RESULT.
|
overridevirtual |
Print the result data to stdout.
Reimplemented from WsfEM_InteractionComponent.
References mCoherentJammerPower, mEW_Effects, WsfEM_Interaction::mFailedStatus, mNoiseJammerPower, mPulseJammerPower, and WsfEM_InteractionComponent::WsfEM_Interaction.
|
overridevirtual |
Reimplemented from WsfEM_InteractionComponent.
References WsfEW_Effect::cEB_DROP_MESSAGE, WsfEW_Effect::cEB_DROP_TRACK, WsfEW_Effect::cEB_FALSE_TARGET_EFFECT, WsfEW_Effect::cEB_FLOODED_BLOCKED, WsfEW_Effect::cEB_FLOODED_MAINTAINED, WsfEW_Effect::cEB_JAMMER_POWER_EFFECT, WsfEW_Effect::cEB_MAINTAIN_MESSAGE, WsfEW_Effect::cEB_MAINTAIN_TRACK, WsfEW_Effect::cEB_MESSAGE_ERROR, WsfEW_Effect::cEB_PULSE_EFFECT, WsfEW_Effect::cEB_TRACK_ERROR, and mEW_Effects.
|
overridevirtual |
Reimplemented from WsfEM_InteractionComponent.
References mCoherentJammerPower, mNoiseJammerPower, and mPulseJammerPower.
|
overridevirtual |
Reimplemented from WsfEM_InteractionComponent.
References WsfEW_Effect::cEB_AGILITY_EFFECT, WsfEW_Effect::cEB_DROP_MESSAGE, WsfEW_Effect::cEB_DROP_TRACK, WsfEW_Effect::cEB_FALSE_TARGET_EFFECT, WsfEW_Effect::cEB_FLOODED_BLOCKED, WsfEW_Effect::cEB_FLOODED_MAINTAINED, WsfEW_Effect::cEB_JAM_STROBE_EFFECT, WsfEW_Effect::cEB_JAMMER_POWER_EFFECT, WsfEW_Effect::cEB_MAINTAIN_MESSAGE, WsfEW_Effect::cEB_MAINTAIN_TRACK, WsfEW_Effect::cEB_MESSAGE_ERROR, WsfEW_Effect::cEB_NEXT_FREE_MASK, WsfEW_Effect::cEB_PULSE_EFFECT, WsfEW_Effect::cEB_REPEATER_EFFECT, WsfEW_Effect::cEB_REPEATER_UPDATE, WsfEW_Effect::cEB_SIGNAL_POWER_EFFECT, WsfEW_Effect::cEB_SLC_DEGRADE_EFFECT, WsfEW_Effect::cEB_TARGET_REJECT_EFFECT, WsfEW_Effect::cEB_TRACK_ERROR, WsfEW_Effect::cEB_UNDEFINED, and mEW_Effects.
|
overridevirtual |
Reimplemented from WsfEM_InteractionComponent.
References mCoherentJammerPower, and mPulseJammerPower.
|
overridevirtual |
Reimplemented from WsfEM_InteractionComponent.
References mPerceivesCoherentJamming, mPerceivesContJamming, mPerceivesPulseJamming, and WsfEM_InteractionComponent::WsfEM_Interaction.
|
overridevirtual |
Requests a component's role interface. A component can support one or more roles.
| aRole | The role whose interface is to be returned. |
Implements WsfComponent.
References cWSF_COMPONENT_EW_RESULT.
|
overridevirtual |
Reset the detection data for a new detection chance.
This only resets those values that are absolutely necessary. Values whose validity can be determined by looking at other values are NOT reset.
Reimplemented from WsfEM_InteractionComponent.
References mCoherentJammerPower, mEW_Effects, mNoiseJammerPower, mPerceivesCoherentJamming, mPerceivesContJamming, mPerceivesPulseJamming, and mPulseJammerPower.
| double WsfEW_Result::mCoherentJammerPower {0.0} |
Coherent jamming power (watts)
Referenced by WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeJammerPowers(), WsfFalseTargetBlip::ComputeRcvdPower(), WsfRF_Jammer::ComputeSingleJammerEffect(), WsfRF_Jammer::ComputeTotalJammerEffects(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), WsfRadarMTD_SignalProcessor::Execute(), WsfRadarMTI_SignalProcessor::Execute(), WsfRadarPD_SignalProcessor::Execute(), WsfRadarSTC_SignalProcessor::Execute(), wsf::event::JammingAttempt::Print(), Print(), wsf::event::JammingAttempt::PrintCSV(), PrintCSV_EventOutput_Powers(), PrintEventOutput_Powers(), Reset(), and WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT().
| WsfEW_Effects WsfEW_Result::mEW_Effects |
EW Effects result data and methods.
Referenced by WsfEW_SensorComponent::AttemptToDetect(), WsfEW_CommComponent::AttemptToReceive(), WsfRF_Repeater::CheckDetectAndUpdate(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeSingleJammerEffect(), WsfEW_SensorComponent::ComputeSphericalMeasurementErrors(), WsfRF_Jammer::ComputeTotalJammerEffects(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), WsfFalseTarget::PowerSufficiencyCheck(), Print(), PrintCSV_EventOutput(), PrintEventOutput(), Reset(), WsfEW_CoverPulseEffect::UpdateEffects(), WsfEW_PowerEffect::UpdateEffects(), WsfEW_RepeaterEffect::UpdateEffects(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_TrackEffect::UpdateEffects(), and WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT().
| double WsfEW_Result::mNoiseJammerPower {0.0} |
Noise jamming power (watts)
Referenced by WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeSingleJammerEffect(), WsfRF_Jammer::ComputeTotalJammerEffects(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), WsfRadarMTD_SignalProcessor::Execute(), WsfRadarMTI_SignalProcessor::Execute(), WsfRadarPD_SignalProcessor::Execute(), WsfRadarSTC_SignalProcessor::Execute(), wsf::event::JammingAttempt::Print(), Print(), wsf::event::JammingAttempt::PrintCSV(), PrintCSV_EventOutput_Powers(), Reset(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), and WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT().
| bool WsfEW_Result::mPerceivesCoherentJamming {false} |
True if coherent (FT) jamming is perceived as determined by the coherent JNR threshold.
Referenced by WsfEW_SensorComponent::AttemptToDetect(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), PrintStatus(), and Reset().
| bool WsfEW_Result::mPerceivesContJamming {false} |
True if noise type jamming is perceived as determined by the noise JNR threshold.
Referenced by WsfEW_SensorComponent::AttemptToDetect(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), PrintStatus(), and Reset().
| bool WsfEW_Result::mPerceivesPulseJamming {false} |
True if Pulse type jamming is perceived as determined by the pulse JNR threshold.
Referenced by WsfEW_SensorComponent::AttemptToDetect(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), PrintStatus(), and Reset().
| double WsfEW_Result::mPulseJammerPower {0.0} |
Pulsed noise jamming power (watts)
Referenced by WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPower(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeJammerPowers(), WsfRF_Jammer::ComputeSingleJammerEffect(), WsfRF_Jammer::ComputeTotalJammerEffects(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), WsfRadarMTD_SignalProcessor::Execute(), WsfRadarMTI_SignalProcessor::Execute(), WsfRadarPD_SignalProcessor::Execute(), WsfRadarSTC_SignalProcessor::Execute(), wsf::event::JammingAttempt::Print(), Print(), wsf::event::JammingAttempt::PrintCSV(), PrintCSV_EventOutput_Powers(), PrintEventOutput_Powers(), Reset(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT(), and WsfEM_InteractionScriptMethods::UT_DEFINE_SCRIPT_METHOD_EXT().