|
WSF
|
This class is for the spatial jamming beams that are part of each mode. More...
#include <WsfRF_Jammer.hpp>
Public Types | |
| using | SpotVec = std::vector<JammerXmtr*> |
| Type defines for managing of jammer spots. | |
| using | SpotTrackIdVec = std::vector<WsfTrackId> |
| Type defines for managing of jammer spot track Ids. | |
Public Member Functions | |
| JammerBeam ()=delete | |
| Construct a RF jammer beam. | |
| JammerBeam (unsigned int aBeamNumber) | |
| Copy construct a RF jammer mode. | |
| JammerBeam (const JammerBeam &aSrc, unsigned int aBeamNumber) | |
| ~JammerBeam () | |
Friends | |
| class | WsfRF_Jammer::JammerMode |
Spot methods. | |
| unsigned int | mBeamNumber |
| Unique beam number for this mode. | |
| SpotVec | mActiveSpotPtrs |
| Active jammer spot pointer list. | |
| SpotVec | mAvailableSpotPtrs |
| Active jammer spot pointer list. | |
| SpotTrackIdVec | mSpotTrackIds |
| TrackId list for the active jammer spots. | |
| unsigned int | mMaxNumSpotsPerBeam |
| PowerDistribution | mSpotPowerDistribution |
| SpotPower distribution - average or constant - defaults to average. | |
| unsigned int | GetActiveSpotCount () const |
| unsigned int | GetAvailableSpotCount () const |
| bool | GetActiveSpotIndex (double aFrequency, double aBandwidth, WsfTrackId aTrackId, WsfTrackId aRawTrackId, SpotIndexVec &aSpotIndexVec) const |
Common infrastructure methods. | |
| bool | Initialize (WsfSimulation &aSimulation, JammerXmtr &aXmtr) |
| bool | ProcessInput (UtInput &aInput) |
Beam methods. | |
| void | Deselect (double aSimTime) |
| void | Select (double aSimTime) |
| void | SetBeamNumber (unsigned int aBeamNumber) |
| unsigned int | GetBeamNumber () const |
This class is for the spatial jamming beams that are part of each mode.
| using WsfRF_Jammer::JammerBeam::SpotTrackIdVec = std::vector<WsfTrackId> |
Type defines for managing of jammer spot track Ids.
| using WsfRF_Jammer::JammerBeam::SpotVec = std::vector<JammerXmtr*> |
Type defines for managing of jammer spots.
|
delete |
Construct a RF jammer beam.
References Deselect(), JammerBeam(), and Select().
Referenced by JammerBeam(), and JammerBeam().
| WsfRF_Jammer::JammerBeam::JammerBeam | ( | unsigned int | aBeamNumber | ) |
Copy construct a RF jammer mode.
References WsfRF_Jammer::cAVERAGE_POWER, mActiveSpotPtrs, mAvailableSpotPtrs, mBeamNumber, mMaxNumSpotsPerBeam, mSpotPowerDistribution, and mSpotTrackIds.
| WsfRF_Jammer::JammerBeam::JammerBeam | ( | const JammerBeam & | aSrc, |
| unsigned int | aBeamNumber ) |
References JammerBeam(), mActiveSpotPtrs, mBeamNumber, mMaxNumSpotsPerBeam, mSpotPowerDistribution, and mSpotTrackIds.
| WsfRF_Jammer::JammerBeam::~JammerBeam | ( | ) |
References mActiveSpotPtrs, and mAvailableSpotPtrs.
| void WsfRF_Jammer::JammerBeam::Deselect | ( | double | aSimTime | ) |
Deselect the beam.
| aSimTime | The current simulation time. |
References mActiveSpotPtrs.
Referenced by JammerBeam().
| unsigned int WsfRF_Jammer::JammerBeam::GetActiveSpotCount | ( | ) | const |
Find the number of active spots on the beam.
References mActiveSpotPtrs.
Referenced by WsfRF_Jammer::GetActiveSpotCount(), and WsfRF_Jammer::GetMaximumSpotCount().
| bool WsfRF_Jammer::JammerBeam::GetActiveSpotIndex | ( | double | aFrequency, |
| double | aBandwidth, | ||
| WsfTrackId | aTrackId, | ||
| WsfTrackId | aRawTrackId, | ||
| SpotIndexVec & | aSpotIndexVec ) const |
Returns true if a spot index is found at the supplied search criteria (frequency, bandwidth, beam number, and/or target index). Passes by reference the spot index into mActiveSpotPtrs at which the supplied search criteria is met, index also matches the mSpotTrackIds as these are a maintained as matched pairs to mActiveSpotPtrs. If any of the passed in search criteria variable are set to 0 it will not be used in the search.
| aFrequency | The adjusted jammer transmitter frequency. (Hertz) |
| aBandwidth | The adjusted jammer transmitter bandwidth. (Hertz) |
| aTrackId | The assigned Track Id of the target to be jammed. |
| aRawTrackId | The assigned raw Track Id of the target to be jammed. |
| aSpotIndexVec | The spot index vector/list for which search criteria have been met. |
References WsfEM_XmtrRcvr::GetBandwidth(), WsfEM_XmtrRcvr::GetFrequency(), WsfTrackId::GetLocalTrackNumber(), WsfTrackId::GetOwningPlatformId(), mActiveSpotPtrs, and mSpotTrackIds.
Referenced by WsfRF_Jammer::JammerMode::GetActiveBeamSpotIndexes().
| unsigned int WsfRF_Jammer::JammerBeam::GetAvailableSpotCount | ( | ) | const |
Find the number of available spots on the beam.
References mAvailableSpotPtrs.
Referenced by WsfRF_Jammer::GetMaximumSpotCount().
|
inline |
Get the beam number.
References mBeamNumber.
Referenced by WsfRF_Jammer::JammerMode::GetActiveBeamSpotIndexes(), WsfRF_Jammer::StartJamming(), and WsfRF_Jammer::StopJamming().
| bool WsfRF_Jammer::JammerBeam::Initialize | ( | WsfSimulation & | aSimulation, |
| JammerXmtr & | aXmtr ) |
Initialize the jammer beam.
| aSimulation | The simulation |
| aXmtr | The transmitter from which to clone all the available spots on the beam.. |
References WsfEM_XmtrRcvr::GetAntenna(), WsfEM_XmtrRcvr::GetMode(), WsfRF_Jammer::JammerXmtr::Initialize(), mAvailableSpotPtrs, mBeamNumber, mMaxNumSpotsPerBeam, WsfEM_XmtrRcvr::SetIndex(), and WsfEM_XmtrRcvr::SetMode().
Referenced by WsfRF_Jammer::JammerMode::Initialize().
| bool WsfRF_Jammer::JammerBeam::ProcessInput | ( | UtInput & | aInput | ) |
Process input from a generic source.
| aInput | The UtInput stream to process. |
References WsfRF_Jammer::cAVERAGE_POWER, WsfRF_Jammer::cCONSTANT_POWER, mMaxNumSpotsPerBeam, and mSpotPowerDistribution.
| void WsfRF_Jammer::JammerBeam::Select | ( | double | aSimTime | ) |
Select the beam.
| aSimTime | The current simulation time. |
References mActiveSpotPtrs.
Referenced by JammerBeam().
|
inline |
|
friend |
| SpotVec WsfRF_Jammer::JammerBeam::mActiveSpotPtrs |
Active jammer spot pointer list.
Referenced by WsfRF_Jammer::JammerMode::AdjustPowerDistribution(), Deselect(), WsfRF_Jammer::DeselectEA_Technique(), GetActiveSpotCount(), GetActiveSpotIndex(), WsfRF_Jammer::GetEM_Xmtr(), WsfRF_Jammer::GetJammerXmtr(), WsfRF_Jammer::JammerMode::GetNextAssignableBeam(), JammerBeam(), JammerBeam(), Select(), WsfRF_Jammer::SelectEA_Technique(), WsfRF_Jammer::SetEA_DeltaGainTechnique(), WsfRF_Jammer::StartJamming(), WsfRF_Jammer::StopJamming(), WsfRF_Jammer::UpdateJamming(), and ~JammerBeam().
| SpotVec WsfRF_Jammer::JammerBeam::mAvailableSpotPtrs |
Active jammer spot pointer list.
Referenced by GetAvailableSpotCount(), WsfRF_Jammer::JammerMode::GetNextAssignableBeam(), Initialize(), JammerBeam(), WsfRF_Jammer::StartJamming(), WsfRF_Jammer::StopJamming(), and ~JammerBeam().
| unsigned int WsfRF_Jammer::JammerBeam::mBeamNumber |
Unique beam number for this mode.
Referenced by WsfRF_Jammer::DeselectEA_Technique(), GetBeamNumber(), Initialize(), JammerBeam(), JammerBeam(), WsfRF_Jammer::SelectEA_Technique(), SetBeamNumber(), WsfRF_Jammer::SetEA_DeltaGainTechnique(), WsfRF_Jammer::StartJamming(), WsfRF_Jammer::StopJamming(), and WsfRF_Jammer::UpdateJamming().
| unsigned int WsfRF_Jammer::JammerBeam::mMaxNumSpotsPerBeam |
Maximum number of spots per beam for multiple beam jamming. Defaults to 1.
Referenced by Initialize(), JammerBeam(), JammerBeam(), and ProcessInput().
| PowerDistribution WsfRF_Jammer::JammerBeam::mSpotPowerDistribution |
SpotPower distribution - average or constant - defaults to average.
Referenced by WsfRF_Jammer::JammerMode::AdjustPowerDistribution(), JammerBeam(), JammerBeam(), and ProcessInput().
| SpotTrackIdVec WsfRF_Jammer::JammerBeam::mSpotTrackIds |
TrackId list for the active jammer spots.
Referenced by GetActiveSpotIndex(), JammerBeam(), JammerBeam(), WsfRF_Jammer::SetEA_DeltaGainTechnique(), WsfRF_Jammer::StartJamming(), WsfRF_Jammer::StopJamming(), and WsfRF_Jammer::UpdateJamming().