WSF
WsfSimulationInput Class Reference

#include <WsfSimulationInput.hpp>

Inheritance diagram for WsfSimulationInput:
Collaboration diagram for WsfSimulationInput:

Public Member Functions

 WsfSimulationInput (WsfScenario &aScenario)
virtual ~WsfSimulationInput ()
virtual bool ProcessInput (UtInput &aInput)
virtual void LoadComplete ()
double GetMinimumMoverTimestep () const
bool MultiThreaded () const
 Return whether the simulation should multi-thread were appropriate.
double GetEndTime () const
 Get the defined end time of the simulation.
const WsfDateTimeGetDateTime () const
bool UseConstantRequiredPd () const
void UseConstantRequiredPd (bool aUseConstantRequiredPd)

Friends

class WsfSimulation

Determine the way multiple/alternate frequencies behave in sensors.

enum  ProcessPriority {
  cPP_BELOW_NORMAL , cPP_NORMAL , cPP_ABOVE_NORMAL , cPP_HIGH ,
  cPP_REALTIME
}
 Process priorities for windows. More...
WsfScenariomScenarioPtr
bool mIsRealTime
 Whether this simulation is running real-time, or a multiple of real-time.
bool mMultiThreaded
 Thread behavior.
int mWallClockTimingMethod
 Timing method to use for UtWallClock.
double mMinimumMoverTimestep
double mEndTime
 The end time of the simulation (seconds).
double mClockRate
 The ratio of simulation time to real world time.
WsfDateTimemDateTimePtr
bool mUseConstantRequiredPd
bool mRandomizeFrequency
 Randomization flag for randomizing "frequency" for sensors with alternate frequency inputs in the simulation.
bool mUseDefaultFrequency
 Force the use of the "frequency" input (default) for sensor's with alternate frequency inputs in the simulation.
int mNumberOfThreads
double mBreakUpdateTime
bool mDebugMultiThreading
ProcessPriority mProcessPriority
bool mAllowClutterCalculationShortcuts
 See documentation for AllowCalculationShortcuts.
bool mAllowEM_PropagationCalculationShortcuts
 See documentation for AllowCalculationShortcuts.
bool RandomizeFrequency () const
void RandomizeFrequency (bool aRandomizeFrequency)
bool UseDefaultFrequency () const
void UseDefaultFrequency (bool aUseDefaultFrequency)
void SetMultiThreaded (bool aMultiThreaded)
 Return whether the simulation should multi-thread were appropriate.
void AllowClutterCalculationShortcuts (bool aAllowCalculationShortcuts)
bool AllowClutterCalculationShortcuts () const
 Return the current status of allowing calculation shortcuts.
void AllowEM_PropagationCalculationShortcuts (bool aAllowCalculationShortcuts)
bool AllowEM_PropagationCalculationShortcuts () const
 Return the current status of allowing calculation shortcuts.
WsfScenarioGetScenario () const
void SetProcessPriority (ProcessPriority aProcessPriority)
 Set the process priority class for windows.

Detailed Description

Reads simulation configuration from the input file May be extended by applications to override simulation input commands

Member Enumeration Documentation

◆ ProcessPriority

Process priorities for windows.

Enumerator
cPP_BELOW_NORMAL 
cPP_NORMAL 
cPP_ABOVE_NORMAL 
cPP_HIGH 
cPP_REALTIME 

Constructor & Destructor Documentation

◆ WsfSimulationInput()

◆ ~WsfSimulationInput()

WsfSimulationInput::~WsfSimulationInput ( )
virtual

References mDateTimePtr.

Member Function Documentation

◆ AllowClutterCalculationShortcuts() [1/2]

bool WsfSimulationInput::AllowClutterCalculationShortcuts ( ) const
inline

Return the current status of allowing calculation shortcuts.

References mAllowClutterCalculationShortcuts.

◆ AllowClutterCalculationShortcuts() [2/2]

void WsfSimulationInput::AllowClutterCalculationShortcuts ( bool aAllowCalculationShortcuts)
inline

Indicate if calculation shortcuts are allowed.

This is a static method (applicable to ALL instances) which indicates if calculation 'shortcuts' are allowed. If 'true' (the default) a model may employ tests to shorten or bypass calculations. For instance, a model may check the current signal-to-noise and bypass calculation ifWsfSimulation the S/N is already too low.

Note
Shortcuts should not be allowed when creating a clutter map.

References mAllowClutterCalculationShortcuts.

Referenced by WsfEM_ALARM_Clutter::ComputeClutterPower().

◆ AllowEM_PropagationCalculationShortcuts() [1/2]

bool WsfSimulationInput::AllowEM_PropagationCalculationShortcuts ( ) const
inline

Return the current status of allowing calculation shortcuts.

References mAllowEM_PropagationCalculationShortcuts.

◆ AllowEM_PropagationCalculationShortcuts() [2/2]

void WsfSimulationInput::AllowEM_PropagationCalculationShortcuts ( bool aAllowCalculationShortcuts)
inline

Indicate if calculation shortcuts are allowed.

This is a static method (applicable to ALL instances) which indicates if calculation 'shortcuts' are allowed. If 'true' (the default) a model may employ tests to shorten or bypass calculations. For instance, a model may check the current signal-to-noise and bypass calculation if the S/N is already too low.

Note
Shortcuts should not be allowed when creating a clutter map.

References mAllowEM_PropagationCalculationShortcuts.

◆ GetDateTime()

const WsfDateTime & WsfSimulationInput::GetDateTime ( ) const
inline

References mDateTimePtr.

◆ GetEndTime()

double WsfSimulationInput::GetEndTime ( ) const
inline

Get the defined end time of the simulation.

References mEndTime.

◆ GetMinimumMoverTimestep()

double WsfSimulationInput::GetMinimumMoverTimestep ( ) const
inline

Return the 'minimum mover timestep'. The minimum mover timestep is the amount of time that must elapse between mover updates on a platform before the update will actually be performed. If the elapsed time is less than this value then the update will be suppressed.

A value of zero (or negative value) effectively allows all updates while a value greater than zero can result in suppressed updates.

The constructor initializes this to a negative value to allow derived classes to detect if a value has been defined in the input file.

References mMinimumMoverTimestep.

◆ GetScenario()

WsfScenario * WsfSimulationInput::GetScenario ( ) const
inline

References mScenarioPtr.

◆ LoadComplete()

void WsfSimulationInput::LoadComplete ( )
virtual

Referenced by WsfSimulation.

◆ MultiThreaded()

bool WsfSimulationInput::MultiThreaded ( ) const
inline

Return whether the simulation should multi-thread were appropriate.

References mMultiThreaded.

◆ ProcessInput()

◆ RandomizeFrequency() [1/2]

bool WsfSimulationInput::RandomizeFrequency ( ) const
inline

References mRandomizeFrequency.

◆ RandomizeFrequency() [2/2]

void WsfSimulationInput::RandomizeFrequency ( bool aRandomizeFrequency)

◆ SetMultiThreaded()

void WsfSimulationInput::SetMultiThreaded ( bool aMultiThreaded)
inline

Return whether the simulation should multi-thread were appropriate.

References mMultiThreaded.

Referenced by WsfEventStepSimulationInput::ProcessInput().

◆ SetProcessPriority()

void WsfSimulationInput::SetProcessPriority ( ProcessPriority aProcessPriority)
inline

Set the process priority class for windows.

References mProcessPriority.

◆ UseConstantRequiredPd() [1/2]

bool WsfSimulationInput::UseConstantRequiredPd ( ) const
inline

Determine if the 'required Pd for detection' should be static or random.

See also
GetRequiredPd for more information.
Returns
'true' then the constant 'required_pd' value from the sensor mode will be used (default of 0.5).
'false' (the default value) then the 'required_pd' will be randomly determined for each detection attempt. (Computed as 1.0 - GetSimulation()->GetRandom().Uniform()).

References mUseConstantRequiredPd.

Referenced by WsfSensor::GetRequiredPd().

◆ UseConstantRequiredPd() [2/2]

void WsfSimulationInput::UseConstantRequiredPd ( bool aUseConstantRequiredPd)
inline

Set the 'Use Required Pd' value to the desired value.

See also
GetRequiredPd for more information.

References mUseConstantRequiredPd.

◆ UseDefaultFrequency() [1/2]

bool WsfSimulationInput::UseDefaultFrequency ( ) const
inline

◆ UseDefaultFrequency() [2/2]

void WsfSimulationInput::UseDefaultFrequency ( bool aUseDefaultFrequency)

◆ WsfSimulation

friend class WsfSimulation
friend

Member Data Documentation

◆ mAllowClutterCalculationShortcuts

bool WsfSimulationInput::mAllowClutterCalculationShortcuts
protected

See documentation for AllowCalculationShortcuts.

Referenced by AllowClutterCalculationShortcuts(), AllowClutterCalculationShortcuts(), ProcessInput(), and WsfSimulationInput().

◆ mAllowEM_PropagationCalculationShortcuts

bool WsfSimulationInput::mAllowEM_PropagationCalculationShortcuts
protected

◆ mBreakUpdateTime

double WsfSimulationInput::mBreakUpdateTime
protected

Referenced by ProcessInput(), and WsfSimulationInput().

◆ mClockRate

double WsfSimulationInput::mClockRate
protected

The ratio of simulation time to real world time.

Referenced by ProcessInput(), and WsfSimulationInput().

◆ mDateTimePtr

WsfDateTime* WsfSimulationInput::mDateTimePtr
protected

◆ mDebugMultiThreading

bool WsfSimulationInput::mDebugMultiThreading
protected

Referenced by ProcessInput(), and WsfSimulationInput().

◆ mEndTime

double WsfSimulationInput::mEndTime
protected

The end time of the simulation (seconds).

Referenced by GetEndTime(), ProcessInput(), and WsfSimulationInput().

◆ mIsRealTime

bool WsfSimulationInput::mIsRealTime
protected

Whether this simulation is running real-time, or a multiple of real-time.

Referenced by ProcessInput(), and WsfSimulationInput().

◆ mMinimumMoverTimestep

double WsfSimulationInput::mMinimumMoverTimestep
protected

Defines the minimum amount of time that must elapse between updates before a mover update will be allowed.

Referenced by GetMinimumMoverTimestep(), ProcessInput(), and WsfSimulationInput().

◆ mMultiThreaded

bool WsfSimulationInput::mMultiThreaded
protected

◆ mNumberOfThreads

int WsfSimulationInput::mNumberOfThreads
protected

Referenced by ProcessInput(), and WsfSimulationInput().

◆ mProcessPriority

ProcessPriority WsfSimulationInput::mProcessPriority
protected

◆ mRandomizeFrequency

bool WsfSimulationInput::mRandomizeFrequency
protected

Randomization flag for randomizing "frequency" for sensors with alternate frequency inputs in the simulation.

Referenced by ProcessInput(), RandomizeFrequency(), and WsfSimulationInput().

◆ mScenarioPtr

WsfScenario* WsfSimulationInput::mScenarioPtr
protected

Referenced by GetScenario(), and WsfSimulationInput().

◆ mUseConstantRequiredPd

bool WsfSimulationInput::mUseConstantRequiredPd
protected

'true' if the Pd required for detection should be fixed to the sensor defined value rather than drawn from an uniform distribution.

Referenced by ProcessInput(), UseConstantRequiredPd(), UseConstantRequiredPd(), and WsfSimulationInput().

◆ mUseDefaultFrequency

bool WsfSimulationInput::mUseDefaultFrequency
protected

Force the use of the "frequency" input (default) for sensor's with alternate frequency inputs in the simulation.

Referenced by ProcessInput(), UseDefaultFrequency(), and WsfSimulationInput().

◆ mWallClockTimingMethod

int WsfSimulationInput::mWallClockTimingMethod
protected

Timing method to use for UtWallClock.

Referenced by ProcessInput(), and WsfSimulationInput().


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