WSF
WsfRF_Repeater Class Reference

#include <WsfRF_Repeater.hpp>

Public Types

enum  OperatingMode { cOM_MANUAL , cOM_SEMIAUTO , cOM_AUTO }
 The operating mode of the repeater. More...

Public Member Functions

 WsfRF_Repeater ()
 WsfRF_Repeater (const WsfRF_Repeater &aSrc)
WsfRF_Repeateroperator= (const WsfRF_Repeater &)=delete
 ~WsfRF_Repeater ()=default
WsfRF_RepeaterClone () const
 Creates and returns a pointer to a clone of this object.
bool Initialize (double aSimTime, WsfWeapon *aWeaponPtr)
bool ProcessInput (UtInput &aInput)
bool ProcessInputBlock (UtInput &aInput)
 A convenience method to check for and process a 'repeater/end_repeater' block.
void Reset (double aSimTime)
OperatingMode GetOperatingMode () const
bool IsSignalFollowing () const
void RegisterTrack (const WsfTrack *aTrackPtr)
void RegisterTrackId (WsfTrackId aTrackId, size_t aTargetIndex)
void RemoveTrackId (WsfTrackId aTrackId, size_t aTargetIndex)
WsfTrackId MergedTrackId (WsfTrackId aProcessedTrackId)
bool CheckDetectAndUpdate (double aSimTime, WsfEM_Xmtr *aXmtrPtr, WsfSensorResult &aResult, const WsfEM_Interaction &aTargetInteraction)
void SensorTrackDropped (double aSimTime, WsfTrackId aTrackId, size_t aTargetIndex)
void SensorTrackInitiated (double aSimTime, const WsfTrack *aTrackPtr)
void SensorTrackUpdated (double aSimTime, const WsfTrack *aTrackPtr)

Detailed Description

A repeater to implement....

Note
TODO.

Member Enumeration Documentation

◆ OperatingMode

The operating mode of the repeater.

Enumerator
cOM_MANUAL 

Waits for assignments to be made manually.

cOM_SEMIAUTO 

Manually starting of assignments with automatic stopping based on ESM/RWR . Requires a linked ESM/RWR.

cOM_AUTO 

Automatically starts and stops assignments based on ESM/RWR. Requires a linked ESM/RWR.

Constructor & Destructor Documentation

◆ WsfRF_Repeater() [1/2]

WsfRF_Repeater::WsfRF_Repeater ( )

Construct a RF repeater jammer processor.

Note
Jammer routine for automatically starting, stopping and maintaining tracks as desired.

References cOM_MANUAL.

Referenced by Clone(), operator=(), WsfRF_Repeater(), and ~WsfRF_Repeater().

◆ WsfRF_Repeater() [2/2]

WsfRF_Repeater::WsfRF_Repeater ( const WsfRF_Repeater & aSrc)

Copy construct a RF repeater jammer.

Note
Do not copy merged tracks and registered tracks.

References WsfRF_Repeater().

◆ ~WsfRF_Repeater()

WsfRF_Repeater::~WsfRF_Repeater ( )
default

Member Function Documentation

◆ CheckDetectAndUpdate()

bool WsfRF_Repeater::CheckDetectAndUpdate ( double aSimTime,
WsfEM_Xmtr * aXmtrPtr,
WsfSensorResult & aResult,
const WsfEM_Interaction & aTargetInteraction )

Checks and reports results of a detection attempt. Reports 'true' if the transmitter can be detected or the ESM/RWR sensor is invalid/null or 'false' if there is a failed detection attempt

Parameters
aSimTime[input] The current simulation time.
aXmtrPtr[input] Pointer to the jammer transmitter.
aResult[output] A Result object that contains detailed information about the result detection attempt.
aTargetInteraction[input] The interaction object representing the interaction to be jammed (radio, radar, ESM, etc.). This input is used to get the pointer to the receiver and it's current pointing information.
Returns
Returns the result of the detection, 'true' if the transmitter can be detected or the ESM/RWR sensor is invalid/null or 'false' if there is a failed detection attempt

References WsfPassiveSensor::PassiveMode::CanDetect(), WsfEW_Effect::cEB_REPEATER_UPDATE, WsfEW_Result::Find(), WsfSensor::GetCurrentMode(), WsfPlatform::GetIndex(), WsfEM_XmtrRcvr::GetMinimumAntennaGain(), WsfObject::GetName(), WsfEM_XmtrRcvr::GetPeakAntennaGain(), WsfEM_XmtrRcvr::GetPlatform(), WsfEM_Interaction::GetTransmitter(), WsfPlatformPart::IsTurnedOn(), WsfEW_Effects::mCurrentRepeaterData, WsfEW_Result::mEW_Effects, WsfEM_Interaction::BeamData::mGain, WsfEW_Effects::RepeaterData::mGain, WsfEW_Effects::mMask, WsfEW_Effects::RepeaterData::mMinGain, WsfEW_Effects::RepeaterData::mPeakGain, WsfEM_Interaction::mXmtrBeam, and targetIndex().

◆ Clone()

WsfRF_Repeater * WsfRF_Repeater::Clone ( ) const

Creates and returns a pointer to a clone of this object.

References WsfRF_Repeater().

Referenced by ~WsfRF_Repeater().

◆ GetOperatingMode()

OperatingMode WsfRF_Repeater::GetOperatingMode ( ) const
inline

◆ Initialize()

bool WsfRF_Repeater::Initialize ( double aSimTime,
WsfWeapon * aWeaponPtr )

Initialize the RF repeating jammer.

Returns
'true' if successful or 'false' if an error was encountered.

References Reset().

Referenced by ~WsfRF_Repeater().

◆ IsSignalFollowing()

bool WsfRF_Repeater::IsSignalFollowing ( ) const
inline

◆ MergedTrackId()

WsfTrackId WsfRF_Repeater::MergedTrackId ( WsfTrackId aProcessedTrackId)

References WsfTrackId::IsNull().

◆ operator=()

WsfRF_Repeater & WsfRF_Repeater::operator= ( const WsfRF_Repeater & )
delete

References WsfRF_Repeater().

◆ ProcessInput()

bool WsfRF_Repeater::ProcessInput ( UtInput & aInput)

Process input for a a generic source.

Returns
'true' if the input was processed successfully, 'false' if error(s) were found.

References cOM_AUTO, cOM_MANUAL, and cOM_SEMIAUTO.

Referenced by ProcessInputBlock(), and ~WsfRF_Repeater().

◆ ProcessInputBlock()

bool WsfRF_Repeater::ProcessInputBlock ( UtInput & aInput)

A convenience method to check for and process a 'repeater/end_repeater' block.

References ProcessInput().

Referenced by ~WsfRF_Repeater().

◆ RegisterTrack()

◆ RegisterTrackId()

void WsfRF_Repeater::RegisterTrackId ( WsfTrackId aTrackId,
size_t aTargetIndex )

◆ RemoveTrackId()

void WsfRF_Repeater::RemoveTrackId ( WsfTrackId aTrackId,
size_t aTargetIndex )

References WsfTrackId::IsNull().

Referenced by SensorTrackDropped().

◆ Reset()

void WsfRF_Repeater::Reset ( double aSimTime)

Referenced by Initialize(), and ~WsfRF_Repeater().

◆ SensorTrackDropped()

void WsfRF_Repeater::SensorTrackDropped ( double aSimTime,
WsfTrackId aTrackId,
size_t aTargetIndex )

Cease jammer operations for a given target

Parameters
aSimTime[input] The current simulation time.
aTrackId[input] The assigned Track Id of the target.
aTargetIndex[Input] The platform index of the target to be jammed.

References WsfComponentList::RoleIterator< T >::AtEnd(), WsfTaskManager::CancelTask(), cOM_MANUAL, cOM_SEMIAUTO, WsfTaskResource::mNameId, RemoveTrackId(), and WsfTaskManager::TasksAssignedFor().

◆ SensorTrackInitiated()

void WsfRF_Repeater::SensorTrackInitiated ( double aSimTime,
const WsfTrack * aTrackPtr )

Start jamming a given target

Parameters
aSimTime[input] The current simulation time.
aTrackPtr[input] The assigned Track Pointer of the target to be jammed.

References cOM_AUTO, WsfTrack::GetTargetName(), WsfTrack::GetTrackId(), and RegisterTrack().

Referenced by SensorTrackUpdated().

◆ SensorTrackUpdated()

void WsfRF_Repeater::SensorTrackUpdated ( double aSimTime,
const WsfTrack * aTrackPtr )

Currently jamming target and update sensor track

Parameters
aSimTime[input] The current simulation time.
aTrackPtr[input] The assigned Track Pointer of the target to be jammed.

References cOM_AUTO, WsfTrack::GetSignalCount(), WsfTrack::GetSignalEntry(), WsfTrack::GetTargetIndex(), WsfTrack::GetTargetName(), WsfTrack::GetTrackId(), and SensorTrackInitiated().


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