12#ifndef WSFEW_SLC_EFFECT_HPP
13#define WSFEW_SLC_EFFECT_HPP
15#include "wsf_mil_export.h"
88 const ut::optional<WsfEM_Interaction>& aTgtToJammerInteraction,
114 bool AddCancelationRatio(
int aNumCanceledJammers,
double aJammerToNoiseRatio,
double aCancelationRatio);
115 double GetCancelationRatio(
int aNumCanceledJammers,
double aJammerToNoiseRatio)
const;
116 double GetCancelationFactor(
int aNumCanceledJammers,
double aJammerToNoiseRatio)
const;
124 bool mExplicitAuxBeamTilt;
126 double mCancelationLockRatio;
127 double mMinimumPulseWidth;
128 double mLoopSettlingTime;
129 int mNumberCancelers;
131 double mAuxThresholds[2];
132 double mMainThresholds[2];
135 CancelationMethod mCancelationMethod;
137 CancelationTable mCancelationTable;
138 bool mExplicitCancelationTable;
141 CancelerState mCancelerState;
143 int mCanceledJammers;
144 CancelationMap mCancelationMap;
Definition WsfAntennaPattern.hpp:35
Definition WsfEM_Antenna.hpp:49
Definition WsfEM_Interaction.hpp:68
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
Definition WsfEW_EA.hpp:37
Definition WsfEW_EP.hpp:36
Definition WsfEW_Effect.hpp:45
virtual void RemoveJammerXmtr(unsigned int aXmtrId)
Definition WsfEW_Effect.cpp:399
Definition WsfEW_Effects.hpp:41
void ApplyUnmitigatedEffect(WsfEW_Effects &aEW_Effects) const override
Definition WsfEW_PowerEffect.cpp:72
bool Initialize(WsfSimulation &aSimulation) override
Definition WsfEW_PowerEffect.cpp:53
bool ProcessInput(UtInput &aInput) override
Definition WsfEW_PowerEffect.cpp:66
WsfEW_Effect * Clone() const override
Definition WsfEW_PowerEffect.cpp:47
WsfEW_PowerEffect()
Definition WsfEW_PowerEffect.cpp:30
void ApplyMitigatedEffect(WsfEW_Effect *aEW_EffectPtr, WsfEW_Effects &aEW_Effects) const override
Definition WsfEW_PowerEffect.cpp:233
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_PowerEffect.cpp:393
WsfEW_SLC_Effect applies Sidelobe Canceler (SLC) effects of radars.
Definition WsfEW_SLC_Effect.hpp:34
std::vector< std::pair< double, double > > JNR_To_CR_PairVec
Definition WsfEW_SLC_Effect.hpp:56
WsfEW_SLC_Effect()
Definition WsfEW_SLC_Effect.cpp:40
virtual const CancelationTable & GetCancelationTable() const
Definition WsfEW_SLC_Effect.hpp:99
virtual int GetNumberCancelers() const
Definition WsfEW_SLC_Effect.hpp:98
WsfEW_SLC_Effect & operator=(const WsfEW_SLC_Effect &)=delete
virtual double GetCancelationLockRatio() const
Definition WsfEW_SLC_Effect.hpp:105
virtual double GetMainThresholds(unsigned int aIndex) const
Definition WsfEW_SLC_Effect.hpp:100
CancelerState
Definition WsfEW_SLC_Effect.hpp:74
@ cOFF
canceler off
Definition WsfEW_SLC_Effect.hpp:75
@ cSTALLED
canceler stalled, no longer canceling
Definition WsfEW_SLC_Effect.hpp:78
@ cCANCELING
canceler functioning
Definition WsfEW_SLC_Effect.hpp:76
@ cMAINLOBE
Jammer signal in mainlobe or power in Aux is less than main.
Definition WsfEW_SLC_Effect.hpp:77
virtual WsfEM_Rcvr * GetAuxRcvrPtr()
Definition WsfEW_SLC_Effect.hpp:106
std::map< int, JNR_To_CR_PairVec > CancelationTable
Definition WsfEW_SLC_Effect.hpp:57
CancelationMethod
Definition WsfEW_SLC_Effect.hpp:67
@ cINCREMENTAL
Definition WsfEW_SLC_Effect.hpp:70
@ cNONE
Definition WsfEW_SLC_Effect.hpp:68
@ cSUM
Definition WsfEW_SLC_Effect.hpp:69
std::map< unsigned int, CancelationData > CancelationMap
Definition WsfEW_SLC_Effect.hpp:55
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfEW_SLC_Effect.hpp:37
double mPolModSwitchRate
Definition WsfEW_SLC_Effect.hpp:42
void Reset()
Definition WsfEW_SLC_Effect.hpp:44
double mJammerToNoise
Definition WsfEW_SLC_Effect.hpp:40
double mSLC_DegradeFactor
Definition WsfEW_SLC_Effect.hpp:41
double mCancelationValue
Definition WsfEW_SLC_Effect.hpp:38
int mChannelsCanceled
Definition WsfEW_SLC_Effect.hpp:39