|
WSF
|
#include <WsfEM_Xmtr.hpp>


Definitions to support the component list on the transmitter. | |
| enum | XmtrFunction { cXF_UNDEFINED , cXF_COMM , cXF_SENSOR , cXF_INTERFERER } |
| XmtrFunction defines the intended purpose of the transmitter. More... | |
| using | Component = WsfEM_XmtrComponent |
| Even though this isn't a component, it must have a role in order to use component factories. | |
| using | ComponentList = WsfComponentListT<WsfEM_XmtrComponent> |
| using | PowerList = std::vector<std::pair<double, double>> |
| Type definition for the frequency dependent power. | |
| WsfEM_Xmtr (XmtrFunction aFunction, WsfEM_Antenna *aAntennaPtr=nullptr) | |
| WsfEM_Xmtr (const WsfEM_Xmtr &aSrc, WsfEM_Antenna *aAntennaPtr=nullptr) | |
| ~WsfEM_Xmtr () override | |
| WsfEM_Xmtr & | operator= (const WsfEM_Xmtr &)=delete |
| std::string | GetName () const |
| Required to display error messages in WsfComponentFactoryList. | |
Component list methods. | |
| using | FrequencyList = std::map<size_t, double> |
| Get the frequencies container. This is for External Services. | |
| ComponentList & | GetComponents () |
| const ComponentList & | GetComponents () const |
| const char * | GetScriptClassName () const override |
| void | Activate () |
| void | Deactivate () |
| virtual bool | AllowInteractionWith (WsfEM_Rcvr *aRcvrPtr) |
| virtual double | ComputeRadiatedPower (double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_El, double aFrequency, double &aAntennaGain) |
| bool | Initialize (WsfSimulation &aSimulation) override |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | ProcessInputBlock (UtInput &aInput) |
| A convenience method to check for and process a 'transmitter/end_transmitter' block. | |
| bool | AllowZeroFrequencyInput () const |
| void | AllowZeroFrequencyInput (bool val) |
| WsfEM_Rcvr * | GetLinkedReceiver () const |
| int | GetAlternateFrequencyCount () const |
| const FrequencyList & | GetAlternateFrequencies () |
| int | GetCurrentAlternateFrequencyId () const |
| double | GetAlternateFrequency (unsigned int aId) const |
| bool | ExplicitFrequencyList () const |
| XmtrFunction | GetFunction () const |
Transmission End Time maintenance. | |
The transmission end time is primarily used by the passive type sensors to maintain detection of a long intermittent transmission. | |
| double | GetTransmissionEndTime () const |
| void | SetTransmissionEndTime (double aTransmissionEndTime) |
| Set the simulation time when the current transmission is to be completed. | |
Power Functions | |
Returns peak or average power as indicated by name, or in the case of GetPower, conditionally returns either peak or average power based on user preference. | |
| double | GetPeakPower (double aFrequency=0.0) const |
| double | GetAveragePower (double aFrequency=0.0) const |
| double | GetPower (double aFrequency=0.0) const |
| double | GetPulseCompressionRatio () const |
| int | GetPulseRepetitionFrequencyCount () const |
| double | GetPulseRepetitionFrequency (size_t aIndex=0) const |
| std::vector< double > | GetPulseRepetitionFrequencies () const |
| int | GetPulseRepetitionIntervalCount () const |
| double | GetPulseRepetitionInterval (size_t aIndex=0) const |
| std::vector< double > | GetPulseRepetitionIntervals () const |
| double | GetPulseWidth () const |
| double | GetDutyCycle () const |
| bool | IsUsingPeakPower () const |
| void | SetLinkedReceiver (WsfEM_Rcvr *aRcvrPtr) |
| void | SetBandwidth (double aBandwidth) override |
| void | SetFrequency (double aFrequency) override |
| void | SelectAlternateFrequency (unsigned int aId) |
| bool | UseDefaultFrequency () |
| void | UseDefaultFrequency (bool aUseDefaultFrequency) |
| void | SetPolarization (WsfEM_Types::Polarization aPolarization) override |
| void | SetPower (double aPower) |
| bool | SetPower (double aPower, double aFrequency) |
| void | SetPulseCompressionRatio (double aPulseCompressionRatio) |
| void | SetPulseRepetitionFrequency (double aPulseRepetitionFrequency, size_t aPRF_Num=1) |
| void | SetPulseRepetitionInterval (double aPulseRepetitionInterval, size_t aPRF_Num=1) |
| void | SetPulseWidth (double aPulseWidth) |
| void | SetDutyCycle (double aDutyCycle) |
Passive listener list maintenance. | |
| virtual bool | AddListener (WsfEM_Rcvr *aRcvrPtr) |
| virtual bool | RemoveListener (WsfEM_Rcvr *aRcvrPtr) |
| virtual void | NotifyListeners (double aSimTime, WsfEM_Interaction &aResult) |
| virtual bool | HasListeners () const |
| Return true if any passive listeners have been attached. | |
| virtual bool | AddChangeListener (WsfEM_Rcvr *aRcvrPtr) |
| virtual bool | RemoveChangeListener (WsfEM_Rcvr *aRcvrPtr) |
| virtual void | NotifyChangeListeners (double aSimTime, size_t aTargetIndex) |
| virtual bool | HasChangeListeners () const |
| Return true if any passive listeners have been attached. | |
Additional Inherited Members | |
| Public Types inherited from WsfEM_XmtrRcvr | |
| using | AntennaPatternList = std::vector<std::pair<WsfAntennaPattern*, double>> |
| Vector of pairs of antenna pattern pointer and associated lower frequency bounds. | |
| Public Member Functions inherited from WsfEM_XmtrRcvr | |
| WsfEM_XmtrRcvr (WsfEM_Antenna *aAntennaPtr=nullptr) | |
| WsfEM_XmtrRcvr (const WsfEM_XmtrRcvr &aSrc, WsfEM_Antenna *aAntennaPtr) | |
| virtual | ~WsfEM_XmtrRcvr () |
| WsfPlatform * | GetPlatform () const |
| WsfArticulatedPart * | GetArticulatedPart () const |
| virtual void | UpdatePosition (double aSimTime) |
| const char * | GetScriptClassName () const override |
| WsfEM_Attenuation * | GetAttenuationModel () const |
| void | SetAttenuationModel (WsfEM_Attenuation *aAttenuationPtr) |
| WsfStringId | GetAttenuationModelType () const |
| Return the type of the attenuation model (if one is defined). | |
| void | SetAttenuationModelType (WsfStringId aAttenuationType) |
| WsfEM_Propagation * | GetPropagationModel () const |
| void | SetPropagationModel (WsfEM_Propagation *aPropagationPtr) |
| WsfStringId | GetPropagationModelType () const |
| Return the type of the propagation model (if one is defined). | |
| void | SetPropagationModelType (WsfStringId aPropagationType) |
| void | SetAttenuationInputEnabled (bool aEnabled) |
| Enable or disable 'attenuation_model' input. | |
| void | SetPropagationInputEnabled (bool aEnabled) |
| Enable or disable 'propagation_model' input. | |
| WsfEM_Antenna * | GetAntenna () const |
| Get the pointer associated geometry object. | |
| void | SetAntenna (WsfEM_Antenna *aAntennaPtr) |
| WsfAntennaPattern * | GetAntennaPattern (WsfEM_Types::Polarization aPolarization, double aFrequency) const |
| bool | SetAntennaPattern (WsfAntennaPattern *aAntennaPatternPtr, WsfEM_Types::Polarization aPolarization, double aFrequency) |
| bool | AddAntennaPattern (WsfAntennaPattern *aAntennaPatternPtr, WsfEM_Types::Polarization aPolarization, double aFrequency) |
| const AntennaPatternList * | GetAntennaPatternList (WsfEM_Types::Polarization aPolarization) const |
| double | GetBeamTilt () const |
| void | SetBeamTilt (double aBeamTilt) |
| Set the angle of the boresight of the antenna gain pattern above/below (+/-) the antenna boresight. | |
| virtual double | GetAntennaGain (WsfEM_Types::Polarization aPolarization, double aFrequency, double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_El) |
| virtual WSF_DEPRECATED double | GetAzimuthBeamwidth () const final |
| virtual double | GetAzimuthBeamwidth (double aEBS_Azimuth, double aEBS_Elevation) const |
| virtual WSF_DEPRECATED double | GetElevationBeamwidth () const final |
| virtual double | GetElevationBeamwidth (double aEBS_Azimuth, double aEBS_Elevation) const |
| virtual double | GetPeakAntennaGain () const |
| virtual double | GetMinimumAntennaGain () const |
| virtual void | SetAntennaBeamCount (unsigned int aBeamCount) |
| bool | DebugEnabled () const |
| Determine if debugging is enabled. | |
| void | SetDebugEnabled (bool aDebugEnabled) |
| bool | IsHorizonMaskingEnabled () const |
| determine if horizon masking is to be checked | |
| bool | IsTerrainMaskingEnabled () const |
| determine if terrain masking is to be checked | |
| std::string | MaskingMode () const |
| Gets the masking mode. | |
| void | SetMaskingMode (const std::string &aTerrainMaskingMode) |
| Set the type of masking to perform. | |
| bool | CheckMasking () const |
| determine if horizon and terrain masking is to be checked | |
| void | SetCheckMasking (bool aCheckMasking) |
| enable/disable checking of horizon and terrain masking | |
| void | DisableMaskingCheck () |
| disables the checking of horizon and terrain masking (retained for compatibility) | |
| WsfMode * | GetMode () const |
| void | SetMode (WsfMode *aModePtr) |
| size_t | GetIndex () const |
| Get the index of the xmtr/rcvr in the complex assembly. | |
| void | SetIndex (size_t aIndex) |
| Set the index of the xmtr/rcvr in the complex assembly. | |
| WsfSimulation * | GetSimulation () const |
| WsfEM_Manager * | GetEM_Manager () const |
| double | GetEarthRadiusMultiplier () const |
| double | GetFrequency () const |
| double | GetWavelength () const |
| double | GetBandwidth () const |
| bool | IsBandwidthExplicit () const |
| double | GetInternalLoss () const |
| WsfEM_Types::Polarization | GetPolarization () const |
| Get the polarization of the EM system. | |
| void | SetEarthRadiusMultiplier (double aMultiplier) |
| void | SetInternalLoss (double aInternalLoss) |
| Public Member Functions inherited from WsfUniqueId | |
| WsfUniqueId () | |
| Construtor initializes the unique identifier to 0. | |
| WsfUniqueId (const WsfUniqueId &) | |
| Copy constructor initializes the unique identifier to 0. | |
| WsfUniqueId & | operator= (const WsfUniqueId &) |
| unsigned int | GetUniqueId () const |
| Get the unique identifier assigned to this object. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| Public Member Functions inherited from WsfAuxDataEnabled | |
| WsfAuxDataEnabled ()=default | |
| WsfAuxDataEnabled (const WsfAuxDataEnabled &aSrc)=default | |
| WsfAuxDataEnabled & | operator= (const WsfAuxDataEnabled &aRhs) |
| WsfAuxDataEnabled (WsfAuxDataEnabled &&)=default | |
| WsfAuxDataEnabled & | operator= (WsfAuxDataEnabled &&)=default |
| virtual | ~WsfAuxDataEnabled () noexcept |
| void | SetAuxData (const WsfAttributeContainer &aAuxData) |
| void | DeleteAuxData () |
| Delete the aux data container from the object. | |
| void | MergeAuxData (const WsfAuxDataEnabled &aSrc) |
| Merge the object's aux data with aux data from an existing object. | |
| void | UpdateAuxData (const WsfAuxDataEnabled &aSrc) |
| Update the object's aux data with aux data from an existing object. | |
| bool | HasAuxData () const |
| Returns true if this object has aux data. | |
| bool | ProcessInput (UtInput &aInput) |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| (De)serialization for XIO | |
| WsfAttributeContainer & | GetAuxData () |
| const WsfAttributeContainer & | GetAuxData () const noexcept |
| const WsfAttributeContainer & | GetAuxDataConst () const noexcept |
| static void | AssociateSystems (WsfEM_XmtrRcvr *aSystem1Ptr, WsfEM_XmtrRcvr *aSystem2Ptr) |
| Static Public Attributes inherited from WsfAuxDataEnabled | |
| static UtCallbackListN< void(const WsfAuxDataEnabled *)> | AuxDataAccessed |
| static UtCallbackListN< void(const WsfAuxDataEnabled *)> | AuxDataDestroyed |
| Protected Member Functions inherited from WsfUniqueId | |
| void | AssignUniqueId (WsfSimulation *aSimulationPtr) |
| WsfStringId | mAttenuationType |
| The type of the atmospheric attenuation model to be used. | |
| WsfStringId | mPropagationType |
| The type of the propagation model to be used. | |
| WsfEM_Attenuation * | mAttenuationPtr |
| Pointer to the atmospheric attenuation model. | |
| WsfEM_Propagation * | mPropagationPtr |
| Pointer to the propagation object. | |
| WsfMode * | mModePtr |
| WsfEM_Antenna * | mAntennaPtr |
| Pointer to the 'geometry' object for this transmitter/receiver. | |
| std::array< AntennaPatternList, WsfEM_Types::cPOL_COUNT > | mPatternTables {} |
| WsfEM_XmtrRcvr * | mAssociatePtr |
| double | mBeamTilt |
| double | mEarthRadiusMultiplier |
| double | mFrequency |
| double | mBandwidth |
| double | mInternalLoss |
| WsfEM_Types::Polarization | mPolarization |
| size_t | mIndex |
| std::array< bool, WsfEM_Types::cPOL_COUNT > | mUsedExplicitPolarization {{false}} |
| bool | mDebugEnabled |
| unsigned int | mTerrainMaskingMode |
| Settings used for masking checks. | |
| bool | mCheckMasking |
| true if horizon and terrain masking enabled. | |
| bool | mExplicitBandwidth |
| true if explicit 'bandwidth' specified | |
A transmitter of electromagnetic radiation.
This can be used to implement the transmitters in radars, RF interferers or RF communications.
To use one of these within a system, the following protocol must be observed
Even though this isn't a component, it must have a role in order to use component factories.
| using WsfEM_Xmtr::FrequencyList = std::map<size_t, double> |
Get the frequencies container. This is for External Services.
| using WsfEM_Xmtr::PowerList = std::vector<std::pair<double, double>> |
Type definition for the frequency dependent power.
XmtrFunction defines the intended purpose of the transmitter.
| Enumerator | |
|---|---|
| cXF_UNDEFINED | Undefined. |
| cXF_COMM | Communications. |
| cXF_SENSOR | Sensing. |
| cXF_INTERFERER | Interfering system. |
| WsfEM_Xmtr::WsfEM_Xmtr | ( | XmtrFunction | aFunction, |
| WsfEM_Antenna * | aAntennaPtr = nullptr ) |
Construct a transmitter.
| aFunction | The primary function of the transmitter. |
| aAntennaPtr | Pointer to the antenna associated with the transmitter. If one isn't provided or if it is zero then call must be made to SetAntenna() prior to calling Initialize(). |
References WsfEM_XmtrRcvr::SetEarthRadiusMultiplier(), SetPulseRepetitionInterval(), and WsfEM_XmtrRcvr::WsfEM_XmtrRcvr().
Referenced by WsfRF_Jammer::JammerXmtr::JammerXmtr(), WsfRF_Jammer::JammerXmtr::JammerXmtr(), operator=(), and WsfEM_Xmtr().
| WsfEM_Xmtr::WsfEM_Xmtr | ( | const WsfEM_Xmtr & | aSrc, |
| WsfEM_Antenna * | aAntennaPtr = nullptr ) |
Copy construct a transmitter.
| aSrc | The transmitter from which to copy. |
| aAntennaPtr | Pointer to the antenna associated with the transmitter. If one isn't provided or if it is zero then call must be made to SetAntenna() prior to calling Initialize(). |
References WsfEM_Xmtr(), and WsfEM_XmtrRcvr::WsfEM_XmtrRcvr().
|
override |
References Deactivate().
| void WsfEM_Xmtr::Activate | ( | ) |
Indicate the transmitter is 'turned-on'.
This method adds the transmitter from the list of active transmitters within the simulation.
References WsfEM_XmtrRcvr::GetEM_Manager().
|
virtual |
Add a receiver to the list of those to be notified when the transmitter changes parameters.
| aRcvrPtr | The receiver to be notified when a transmission prameter changes occur. |
Referenced by WsfPassiveSensor::PassiveMode::AddInteractor().
|
virtual |
Add a receiver to the list of those to be notified when the transmitter emits.
| aRcvrPtr | The receiver to be notified when a transmission occurs. |
Referenced by WsfPassiveSensor::PassiveMode::AddInteractor().
|
virtual |
Is this transmitter allowed to interact with (transmit radiation to) the specified receiver.
This method should answer the question, 'Should we allow this transmitter to interact with the supplied receiver'. This method must NOT consider geometry.
Reimplemented in WsfRF_Jammer::JammerXmtr.
Referenced by WsfEM_Rcvr::UpdateInteractions().
|
inline |
|
inline |
|
virtual |
Compute the effective radiated power density in a given direction.
| aTargetAz | [input] Target azimuth with respect to the beam (radians) |
| aTargetEl | [input] Target elevation with respect to the beam (radians) |
| aEBS_Az | [input] Beam azimuth with respect to the antenna (radians) |
| aEBS_El | [input] Beam elevation with respect to the antenna (radians) |
| aFrequency | [input] Frequency of the receiver receiving the signal (Hertz). |
| aAntennaGain | [output] The computed antenna gain (absolute - not dB) |
References WsfEM_XmtrRcvr::GetAntennaGain(), GetPower(), WsfEM_XmtrRcvr::mFrequency, WsfEM_XmtrRcvr::mInternalLoss, and WsfEM_XmtrRcvr::mPolarization.
| void WsfEM_Xmtr::Deactivate | ( | ) |
Indicate the transmitter is 'turned-off'.
This method removes the transmitter from the list of active transmitters within the simulation.
Referenced by WsfRF_Jammer::StartJamming(), WsfRF_Jammer::StopJamming(), and ~WsfEM_Xmtr().
|
inline |
|
inline |
| double WsfEM_Xmtr::GetAlternateFrequency | ( | unsigned int | aId | ) | const |
Get the alternate frequency with aId.
| aId | The Id of the alternate frequency to get the value of; [0, ... N-1], where N is the size of the list. |
|
inline |
Get the number of alternate frequencies specified.
Referenced by WsfPassiveSensor::PassiveMode::AddInteractor().
| double WsfEM_Xmtr::GetAveragePower | ( | double | aFrequency = 0.0 | ) | const |
Get the average power for the currently set frequency.
References GetDutyCycle(), and GetPeakPower().
Referenced by WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), and GetPower().
|
inline |
Referenced by WsfEW_XmtrComponent::Find(), and WsfEW_XmtrComponent::FindOrCreate().
|
inline |
|
inline |
|
inline |
Get the duty-cycle
Referenced by GetAveragePower().
|
inline |
Get the intended function of the transmitter.
Referenced by WsfEM_Rcvr::AddInteractor(), WsfPassiveSensor::PassiveMode::AddInteractor(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfEW_Effects::Process(), WsfEM_Rcvr::RemoveInteractor(), WsfEW_RcvrComponent::RemoveInteractor(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfDisInterface::UpdateXmtrFromBeam(), WsfMilDisInterface::UpdateXmtrFromBeam(), and UT_DEFINE_SCRIPT_METHOD().
|
inline |
Get the receiver that is linked to this transmitter.
Referenced by WsfXIO_WeaponComponent::HandleStateChangeRequest(), and WsfXIO_ObjectInfoLoad::Load_EM_Xmtr().
|
inline |
Required to display error messages in WsfComponentFactoryList.
Referenced by WsfPassiveSensor::PassiveMode::AddInteractor(), and WsfPassiveSensor::PassiveMode::RemoveInteractor().
| double WsfEM_Xmtr::GetPeakPower | ( | double | aFrequency = 0.0 | ) | const |
Get the peak power for the currently set frequency.
| aFrequency | [input] Frequency of the receiver receiving the signal (Hertz). |
References WsfEM_XmtrRcvr::mFrequency.
Referenced by WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), GetAveragePower(), and GetPower().
| double WsfEM_Xmtr::GetPower | ( | double | aFrequency = 0.0 | ) | const |
Get the power for the currently set frequency. Conditionally provides either peak or average power depending on user preference via the mUsePeakPower flag.
References GetAveragePower(), and GetPeakPower().
Referenced by WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), WsfEM_ALARM_Clutter::ComputeClutterPower(), ComputeRadiatedPower(), Initialize(), WsfXIO_ObjectInfoLoad::Load_EM_Xmtr(), WsfDisPlatform::MessageTransmitted(), and WsfDisInterface::UpdateBeamFromXmtr().
|
inline |
Get the pulse compression ratio.
Referenced by WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), WsfEM_ALARM_Clutter::ComputeClutterPower(), wsf::SurfaceWaveRadarSensorErrorModel::GetSphericalErrorStdDev(), and WsfXIO_ObjectInfoLoad::Load_EM_Xmtr().
| std::vector< double > WsfEM_Xmtr::GetPulseRepetitionFrequencies | ( | ) | const |
Get the pulse repetition frequency list
Referenced by WsfRadarMTD_SignalProcessor::Execute(), WsfRadarMTI_SignalProcessor::Execute(), WsfRadarPD_SignalProcessor::Execute(), WsfRadarMTD_SignalProcessor::Initialize(), WsfRadarMTI_SignalProcessor::Initialize(), and WsfRadarPD_SignalProcessor::Initialize().
| double WsfEM_Xmtr::GetPulseRepetitionFrequency | ( | size_t | aIndex = 0 | ) | const |
Get the pulse repetition frequency
Get the pulse repetition frequency
| aIndex | [input] The PRF index to lookup. |
Referenced by WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), WsfEM_ALARM_Clutter::ComputeClutterPower(), WsfEM_SurfaceClutter::ComputeClutterPower(), WsfRadarSTC_SignalProcessor::Execute(), WsfLASER_CommXmtrComponent::Modulation::Initialize(), WsfRadarMTD_SignalProcessor::Initialize(), WsfXIO_ObjectInfoLoad::Load_EM_Xmtr(), WsfDisInterface::UpdateBeamFromXmtr(), WsfEW_PulseSuppressEffect::UpdateEffects(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity(), and WsfDisEmission::UpdateXmtr().
|
inline |
Get the number of PRFs specified.
Referenced by WsfRadarMTD_SignalProcessor::Initialize(), WsfRadarMTI_SignalProcessor::Initialize(), WsfRadarPD_SignalProcessor::Initialize(), and ProcessInput().
| double WsfEM_Xmtr::GetPulseRepetitionInterval | ( | size_t | aIndex = 0 | ) | const |
Get the pulse repetition interval (1 / PRF).
Get the pulse repetition interval (1 / PRF).
| aIndex | [input] The PRF index to lookup. |
Referenced by WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfEW_PulseEffect::GetJammingPulseDensity(), WsfXIO_ObjectInfoLoad::Load_EM_Xmtr(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_SLC_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_CoverPulseEffect::UpdateJammerPulseDensity(), WsfEW_PulseEffect::UpdateJammerPulseDensity(), and WsfEW_TrackEffect::UpdateJammerPulseDensity().
|
inline |
| std::vector< double > WsfEM_Xmtr::GetPulseRepetitionIntervals | ( | ) | const |
Get the pulse repetition interval list
|
inline |
Get the pulse width
Referenced by WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), WsfEM_ALARM_Clutter::ComputeClutterPower(), WsfPassiveDetector::ComputeDetectability(), WsfLADAR_Sensor::LADAR_Mode::ComputeProbabilityOfDetection(), WsfEM_ALARM_Propagation::ComputePropagationFactor(), WsfEW_PulseEffect::GetJammingPulseDensity(), wsf::SurfaceWaveRadarSensorErrorModel::GetSphericalErrorStdDev(), WsfLASER_CommXmtrComponent::Modulation::Initialize(), WsfLASER_XmtrComponent::Initialize(), WsfRadarMTD_SignalProcessor::Initialize(), WsfRadarPD_SignalProcessor::Initialize(), WsfXIO_ObjectInfoLoad::Load_EM_Xmtr(), WsfDisInterface::UpdateBeamFromXmtr(), WsfEW_PulseSuppressEffect::UpdateEffects(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_SLC_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_CoverPulseEffect::UpdateJammerPulseDensity(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), WsfEW_PulseEffect::UpdateJammerPulseDensity(), WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity(), WsfEW_TrackEffect::UpdateJammerPulseDensity(), and WsfDisEmission::UpdateXmtr().
|
inlineoverride |
|
inline |
Get the simulation time when the current transmission is to be completed.
Referenced by WsfPassiveSensor::PassiveMode::AttemptToDetect().
|
inlinevirtual |
Return true if any passive listeners have been attached.
|
inlinevirtual |
Return true if any passive listeners have been attached.
Referenced by WsfDisEmission::UpdateSensor().
|
overridevirtual |
Initialize the transmitter.
Reimplemented from WsfEM_XmtrRcvr.
References WsfObject::GetName(), WsfEM_XmtrRcvr::GetPlatform(), GetPower(), WsfSimulation::GetScenario(), WsfSimulation::GetSimTime(), WsfEM_XmtrRcvr::Initialize(), WsfEM_XmtrRcvr::mFrequency, ok, WsfComponentFactoryList< PARENT_TYPE >::PreInitialize(), SetFrequency(), and simTime.
Referenced by WsfRF_Jammer::JammerXmtr::Initialize().
|
inline |
Get if the transmitter reports and uses peak power instead of average power.
Referenced by WsfXIO_ObjectInfoLoad::Load_EM_Xmtr().
|
virtual |
Notify listening receivers that this target's transmitters have changed parameters.
| aSimTime | The current simulation time. |
| aTargetIndex | The target platform index representing the transmission |
Referenced by wsf::comm::ComponentHW::SelectAlternateFrequency().
|
virtual |
Notify listening receivers that this transmitter is now emitting.
| aSimTime | The current simulation time. |
| aResult | The interaction object representing the transmission. aResult.GetTransmitter() returns the emitting transmitter. |
Referenced by WsfOTH_RadarSensor::OTH_Mode::AttemptToDetect(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfRadarSensor::RadarMode::AttemptToDetect(), WsfEW_SensorComponent::AttemptToDetectFalseTarget(), WsfOTH_RadarSensor::PerformScheduledDetections(), WsfRadarSensor::PerformScheduledDetections(), WsfJTIDS_Terminal::ReceiveActions(), and wsf::comm::medium::Unguided::TransmitMessage().
|
delete |
References WsfEM_Xmtr().
|
overridevirtual |
Process input from a generic source.
Reimplemented from WsfEM_XmtrRcvr.
References WsfScenario::FromInput(), GetPulseRepetitionFrequencyCount(), GetPulseRepetitionIntervalCount(), WsfEM_XmtrRcvr::mAntennaPtr, WsfComponentFactoryList< PARENT_TYPE >::ProcessInput(), WsfEM_XmtrRcvr::ProcessInput(), SetDutyCycle(), SetFrequency(), SetPower(), SetPulseCompressionRatio(), SetPulseRepetitionFrequency(), SetPulseRepetitionInterval(), and SetPulseWidth().
Referenced by WsfRF_Jammer::JammerXmtr::ProcessInput(), and ProcessInputBlock().
|
virtual |
A convenience method to check for and process a 'transmitter/end_transmitter' block.
References ProcessInput().
|
virtual |
Remove a receiver from the list of those to be notified when the transmitter changes parameters.
| aRcvrPtr | The receiver to be removed from the list. |
Referenced by WsfPassiveSensor::PassiveMode::RemoveInteractor().
|
virtual |
Remove a receiver from the list of those to be notified when the transmitter emits.
| aRcvrPtr | The receiver to be removed from the list. |
Referenced by WsfPassiveSensor::PassiveMode::RemoveInteractor().
| void WsfEM_Xmtr::SelectAlternateFrequency | ( | unsigned int | aId | ) |
Selects the alternate frequency with aId.
| aId | The Id of the alternate frequency to set; [0, ... N-1], where N is the size of the list. |
References SetFrequency().
Referenced by wsf::comm::ComponentHW::SelectAlternateFrequency().
|
overridevirtual |
Set the bandwidth.
| aBandwidth | The bandwidth (Hertz) |
Reimplemented from WsfEM_XmtrRcvr.
References WsfEM_XmtrRcvr::mBandwidth.
Referenced by WsfRF_Jammer::StartJamming(), WsfRF_Jammer::UpdateJamming(), and WsfDisEmission::UpdateXmtr().
| void WsfEM_Xmtr::SetDutyCycle | ( | double | aDutyCycle | ) |
Set the duty-cycle
| aDutyCycle | Duty cycle (absolute). |
Referenced by WsfLASER_CommXmtrComponent::Initialize(), and ProcessInput().
|
overridevirtual |
Set the frequency.
| aFrequency | The frequency (Hertz) |
Reimplemented from WsfEM_XmtrRcvr.
References WsfEM_XmtrRcvr::mFrequency.
Referenced by Initialize(), WsfDisPlatform::MessageTransmitted(), ProcessInput(), WsfRF_Jammer::JammerXmtr::ProcessInput(), SelectAlternateFrequency(), WsfRF_Jammer::StartJamming(), WsfRF_Jammer::UpdateJamming(), and WsfDisEmission::UpdateXmtr().
| void WsfEM_Xmtr::SetLinkedReceiver | ( | WsfEM_Rcvr * | aRcvrPtr | ) |
Define the receiver that is linked to this transmitter. A receiver is typically linked to a transmitter when they share the same antenna. When certain receiver attributes are defined they will also automatically be set in the linked receiver.
The attributes currently include:
| aRcvrPtr | The receiver to be linked to this transmitter. |
References WsfEM_XmtrRcvr::AssociateSystems().
|
overridevirtual |
Set the polarization of the transmitted signal.
| aPolarization | The polarization. |
Reimplemented from WsfEM_XmtrRcvr.
References WsfEM_Types::cPOL_COUNT, WsfEM_Types::cPOL_DEFAULT, and WsfEM_XmtrRcvr::mPolarization.
| void WsfEM_Xmtr::SetPower | ( | double | aPower | ) |
Set the power.
| aPower | The power (Watts) |
Referenced by WsfLASER_CommXmtrComponent::Initialize(), ProcessInput(), and WsfDisEmission::UpdateXmtr().
| bool WsfEM_Xmtr::SetPower | ( | double | aPower, |
| double | aFrequency ) |
Set the power for the supplied frequency.
| aPower | The power (Watts). |
| aFrequency | The lower frequency bound of the power input value. |
| void WsfEM_Xmtr::SetPulseCompressionRatio | ( | double | aPulseCompressionRatio | ) |
Set the pulse compression ratio.
| aPulseCompressionRatio | Pulse compression ratio (absolute ratio, NOT dB) |
Referenced by ProcessInput().
| void WsfEM_Xmtr::SetPulseRepetitionFrequency | ( | double | aPulseRepetitionFrequency, |
| size_t | aPRF_Num = 1 ) |
Set the pulse repetition frequency
| aPulseRepetitionFrequency | Pulse Repetition Frequency (Hertz) |
| aPRF_Num | The PRF number to set. Must be in increasing order. |
Referenced by WsfLASER_CommXmtrComponent::Modulation::Initialize(), ProcessInput(), and WsfDisEmission::UpdateXmtr().
| void WsfEM_Xmtr::SetPulseRepetitionInterval | ( | double | aPulseRepetitionInterval, |
| size_t | aPRI_Num = 1 ) |
Set the pulse repetition interval (PRI = 1 / PRF)
| aPulseRepetitionInterval | Pulse Repetition Interval (seconds) |
| aPRI_Num | The PRI number in the index to set. Must be in increasing order. |
Referenced by WsfLASER_XmtrComponent::Initialize(), ProcessInput(), and WsfEM_Xmtr().
| void WsfEM_Xmtr::SetPulseWidth | ( | double | aPulseWidth | ) |
Set the pulse width
| aPulseWidth | Pulse width (seconds). |
Referenced by WsfLASER_CommXmtrComponent::Modulation::Initialize(), ProcessInput(), and WsfDisEmission::UpdateXmtr().
|
inline |
Set the simulation time when the current transmission is to be completed.
Referenced by wsf::comm::medium::Unguided::TransmitMessage().
|
inline |
|
inline |