WSF
WsfRF_Jammer::JammerBeam Class Reference

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

Detailed Description

This class is for the spatial jamming beams that are part of each mode.

Member Typedef Documentation

◆ SpotTrackIdVec

Type defines for managing of jammer spot track Ids.

◆ SpotVec

Type defines for managing of jammer spots.

Constructor & Destructor Documentation

◆ JammerBeam() [1/3]

WsfRF_Jammer::JammerBeam::JammerBeam ( )
delete

Construct a RF jammer beam.

References Deselect(), JammerBeam(), and Select().

Referenced by JammerBeam(), and JammerBeam().

◆ JammerBeam() [2/3]

WsfRF_Jammer::JammerBeam::JammerBeam ( unsigned int aBeamNumber)

◆ JammerBeam() [3/3]

WsfRF_Jammer::JammerBeam::JammerBeam ( const JammerBeam & aSrc,
unsigned int aBeamNumber )

◆ ~JammerBeam()

WsfRF_Jammer::JammerBeam::~JammerBeam ( )

Member Function Documentation

◆ Deselect()

void WsfRF_Jammer::JammerBeam::Deselect ( double aSimTime)

Deselect the beam.

Parameters
aSimTimeThe current simulation time.

References mActiveSpotPtrs.

Referenced by JammerBeam().

◆ GetActiveSpotCount()

unsigned int WsfRF_Jammer::JammerBeam::GetActiveSpotCount ( ) const

Find the number of active spots on the beam.

Returns
The number of active spots on the beam.

References mActiveSpotPtrs.

Referenced by WsfRF_Jammer::GetActiveSpotCount(), and WsfRF_Jammer::GetMaximumSpotCount().

◆ GetActiveSpotIndex()

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.

Parameters
aFrequencyThe adjusted jammer transmitter frequency. (Hertz)
aBandwidthThe adjusted jammer transmitter bandwidth. (Hertz)
aTrackIdThe assigned Track Id of the target to be jammed.
aRawTrackIdThe assigned raw Track Id of the target to be jammed.
aSpotIndexVecThe spot index vector/list for which search criteria have been met.
Returns
The request was successful.

References WsfEM_XmtrRcvr::GetBandwidth(), WsfEM_XmtrRcvr::GetFrequency(), WsfTrackId::GetLocalTrackNumber(), WsfTrackId::GetOwningPlatformId(), mActiveSpotPtrs, and mSpotTrackIds.

Referenced by WsfRF_Jammer::JammerMode::GetActiveBeamSpotIndexes().

◆ GetAvailableSpotCount()

unsigned int WsfRF_Jammer::JammerBeam::GetAvailableSpotCount ( ) const

Find the number of available spots on the beam.

Returns
The number of available spots on the beam.

References mAvailableSpotPtrs.

Referenced by WsfRF_Jammer::GetMaximumSpotCount().

◆ GetBeamNumber()

unsigned int WsfRF_Jammer::JammerBeam::GetBeamNumber ( ) const
inline

Get the beam number.

Returns
The beam number.

References mBeamNumber.

Referenced by WsfRF_Jammer::JammerMode::GetActiveBeamSpotIndexes(), WsfRF_Jammer::StartJamming(), and WsfRF_Jammer::StopJamming().

◆ Initialize()

bool WsfRF_Jammer::JammerBeam::Initialize ( WsfSimulation & aSimulation,
JammerXmtr & aXmtr )

Initialize the jammer beam.

Parameters
aSimulationThe simulation
aXmtrThe transmitter from which to clone all the available spots on the beam..
Returns
'true' if successful or 'false' if some error was encountered.

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().

◆ ProcessInput()

bool WsfRF_Jammer::JammerBeam::ProcessInput ( UtInput & aInput)

Process input from a generic source.

Parameters
aInputThe UtInput stream to process.
Returns
Return success if input processed without errors

References WsfRF_Jammer::cAVERAGE_POWER, WsfRF_Jammer::cCONSTANT_POWER, mMaxNumSpotsPerBeam, and mSpotPowerDistribution.

◆ Select()

void WsfRF_Jammer::JammerBeam::Select ( double aSimTime)

Select the beam.

Parameters
aSimTimeThe current simulation time.

References mActiveSpotPtrs.

Referenced by JammerBeam().

◆ SetBeamNumber()

void WsfRF_Jammer::JammerBeam::SetBeamNumber ( unsigned int aBeamNumber)
inline

Set the beam number.

Parameters
aBeamNumberThe beam number to set.

References mBeamNumber.

◆ WsfRF_Jammer::JammerMode

friend class WsfRF_Jammer::JammerMode
friend

Member Data Documentation

◆ mActiveSpotPtrs

◆ mAvailableSpotPtrs

◆ mBeamNumber

◆ mMaxNumSpotsPerBeam

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().

◆ mSpotPowerDistribution

PowerDistribution WsfRF_Jammer::JammerBeam::mSpotPowerDistribution

SpotPower distribution - average or constant - defaults to average.

Referenced by WsfRF_Jammer::JammerMode::AdjustPowerDistribution(), JammerBeam(), JammerBeam(), and ProcessInput().

◆ mSpotTrackIds


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved