12#ifndef WSFEW_REPEATEREFFECT_HPP
13#define WSFEW_REPEATEREFFECT_HPP
15#include "wsf_mil_export.h"
69 const ut::optional<WsfEM_Interaction>& aTgtToJammerInteraction,
115 void Reset()
override;
142 const ut::optional<WsfEM_Interaction>& aTgtToJammerInteraction,
143 double aCurrentGains[]);
152 using ReapeaterEffectDataMap = std::map<WsfStringId, RepeaterEffectData*>;
154 ReapeaterEffectDataMap mRepeaterEffectDataMap;
156 double mRepeaterFactor;
157 double mMinGainFactor;
158 double mMaxGainFactor;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfEM_Interaction.hpp:68
Definition WsfEW_EA.hpp:37
Definition WsfEW_EP.hpp:36
Base effect data used to derive from in inheriting effect classes.
Definition WsfEW_Effect.hpp:317
Definition WsfEW_Effects.hpp:41
Definition WsfEW_RadiusEffect.hpp:77
void ApplyUnmitigatedEffect(WsfEW_Effects &aEW_Effects) const override
Definition WsfEW_RadiusEffect.cpp:69
bool Initialize(WsfSimulation &aSimulation) override
Definition WsfEW_RadiusEffect.cpp:50
WsfEW_RadiusEffect()
Definition WsfEW_RadiusEffect.cpp:26
EffectData * PropagateEffectDataPtr(WsfStringId aSystemTypeId) override
Definition WsfEW_RadiusEffect.cpp:224
WsfEW_Effect * Clone() const override
Definition WsfEW_RadiusEffect.cpp:44
bool ProcessInput(UtInput &aInput) override
Definition WsfEW_RadiusEffect.cpp:63
void UpdateEffects(double aSimTime, const WsfEM_Interaction &aTargetInteraction, const WsfEM_Interaction &aJammerToTgtInteraction, const ut::optional< WsfEM_Interaction > &aTgtToJammerInteraction, WsfEW_Effects &aEW_Effects, WsfEW_Effect *aEW_EffectPtr=nullptr) override
Definition WsfEW_RadiusEffect.cpp:167
void ApplyMitigatedEffect(WsfEW_Effect *aEW_EffectPtr, WsfEW_Effects &aEW_Effects) const override
Definition WsfEW_RadiusEffect.cpp:118
Definition WsfEW_RepeaterEffect.hpp:104
RepeaterEffectData(const RepeaterEffectData &aSrc)=default
double mMaximumGainFactor
Definition WsfEW_RepeaterEffect.hpp:119
double mMinimumGainFactor
Definition WsfEW_RepeaterEffect.hpp:118
double mMinDetectFactor
Definition WsfEW_RepeaterEffect.hpp:126
RepeaterEffectData()
Definition WsfEW_RepeaterEffect.cpp:553
double mDesiredJtoN
Definition WsfEW_RepeaterEffect.hpp:121
~RepeaterEffectData() override=default
double mDesiredJtoS
Definition WsfEW_RepeaterEffect.hpp:122
bool mExplicitDesiredFT_RCS
Definition WsfEW_RepeaterEffect.hpp:124
void Reset() override
Definition WsfEW_RepeaterEffect.cpp:698
ControlMethod mControlMethod
Definition WsfEW_RepeaterEffect.hpp:117
RepeaterEffectData & operator=(const RepeaterEffectData &)=delete
double mMaskingFactor
Definition WsfEW_RepeaterEffect.hpp:125
double mDesiredFT_RCS
Definition WsfEW_RepeaterEffect.hpp:123
void SetGainControlType(GainControlType aGainControlType)
Definition WsfEW_RepeaterEffect.cpp:719
int mGainControlTypeMask
Definition WsfEW_RepeaterEffect.hpp:120
void AddGainControlType(GainControlType aGainControlType)
Definition WsfEW_RepeaterEffect.cpp:713
Definition WsfEW_RepeaterEffect.hpp:36
double GetMinDetectFactor(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:514
void SetMinDetectFactor(WsfStringId aSystemTypeId, double aMinDetectFactor)
Definition WsfEW_RepeaterEffect.cpp:524
GainControlType
Definition WsfEW_RepeaterEffect.hpp:47
@ cMG_NONE
Definition WsfEW_RepeaterEffect.hpp:48
@ cMG_MASKING
Definition WsfEW_RepeaterEffect.hpp:53
@ cMG_MIN_J_TO_S
Definition WsfEW_RepeaterEffect.hpp:51
@ cMG_DESIRED_RCS
Definition WsfEW_RepeaterEffect.hpp:49
@ cMG_MIN_DETECT
Definition WsfEW_RepeaterEffect.hpp:52
@ cMG_MIN_J_TO_N
Definition WsfEW_RepeaterEffect.hpp:50
double GetDesiredJtoN(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:457
void SetDesiredJtoN(WsfStringId aSystemTypeId, double aDesiredJtoN)
Definition WsfEW_RepeaterEffect.cpp:467
double GetDesiredJtoS(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:476
EffectData * NewEffectData() override
Definition WsfEW_RepeaterEffect.hpp:147
double GetMaximumGainFactor(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:427
void SetGainFactors(WsfStringId aSystemTypeId, double aMinimumGainFactor, double aMaximumGainFactor)
Definition WsfEW_RepeaterEffect.cpp:437
double GetDesiredFT_RCS(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:495
WsfEW_RepeaterEffect & operator=(const WsfEW_RepeaterEffect &)=delete
WsfEW_RepeaterEffect()
Definition WsfEW_RepeaterEffect.cpp:35
void SetDesiredFT_RCS(WsfStringId aSystemTypeId, double aDesiredFT_MaskingRCS)
Definition WsfEW_RepeaterEffect.cpp:505
double GetMinimumGainFactor(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:417
double GetMaskingFactor(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:533
void SetControlMethod(WsfStringId aSystemTypeId, ControlMethod aControlMethod)
Definition WsfEW_RepeaterEffect.cpp:408
int GetGainControlTypeMask(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:447
void SetDesiredJtoS(WsfStringId aSystemTypeId, double aDesiredJtoS)
Definition WsfEW_RepeaterEffect.cpp:486
~WsfEW_RepeaterEffect() override=default
double GetRepeaterFactor()
Get the current repeater factor for last call to UpdateEffects(...) or UpdateRepeaterFactor(....
Definition WsfEW_RepeaterEffect.hpp:138
ControlMethod
Definition WsfEW_RepeaterEffect.hpp:39
@ cCM_USE_REPEATER
Definition WsfEW_RepeaterEffect.hpp:41
@ cCM_NONE
Definition WsfEW_RepeaterEffect.hpp:40
@ cCM_USE_ACTUALS
Definition WsfEW_RepeaterEffect.hpp:42
@ cCM_USE_REPEATER_ACTUALS
Definition WsfEW_RepeaterEffect.hpp:43
ControlMethod GetControlMethod(WsfStringId aSystemTypeId) const
Definition WsfEW_RepeaterEffect.cpp:398
void SetMaskingFactor(WsfStringId aSystemTypeId, double aMaskingFactor)
Definition WsfEW_RepeaterEffect.cpp:543
The main controller for a simulation.
Definition WsfSimulation.hpp:109