WSF
WsfBallisticMissileLaunchComputer::SA_Evaluator Class Reference

#include <WsfBallisticMissileLaunchComputer.hpp>

Collaboration diagram for WsfBallisticMissileLaunchComputer::SA_Evaluator:

Public Member Functions

 SA_Evaluator (double aBaseTime, WsfBallisticMissileLaunchComputer *aComputerPtr, WsfMover::KinematicModel *aTargetDataPtr)
void FindLaunchWindowStart (double &aTimeToLaunch, double &aTimeToIntercept, double &aTimeOfFlight, double &aLoftAngle, double &aInterceptSpeed, double &aInterceptFlightPathAngle)
void FindLaunchWindowEnd (double &aTimeToLaunch, double &aTimeToIntercept, double &aTimeOfFlight, double &aLoftAngle, double &aInterceptSpeed, double &aInterceptFlightPathAngle)
bool CheckForInterceptOnRangeLine (int aRangeIndex, double &aTimeToLaunch, double &aTimeToIntercept, double &aTimeOfFlight, double &aLoftAngle, double &aInterceptSpeed, double &aInterceptFlightPathAngle)

Public Attributes

const WsfBallisticMissileLaunchComputermComputerPtr
const WsfMover::KinematicModelmTargetDataPtr
const SA_TablemSA_Table
double mBaseTime
double mLaunchLocXYZ [3]
bool mCheckGeometry
double mBegTime
double mBegLocXYZ [3]
double mBegRange
double mBegAltitude
int mBegRangeIndex
double mEndTime
double mEndLocXYZ [3]
double mEndRange
double mEndAltitude
int mEndRangeIndex
double mLastRange
int mIterCount
bool mClosing
TblLookupLUBX< double > mAltitudeLU

Detailed Description

The 'evaluator' for surface-to-air intercepts. This class exists to maintain a 'context' for determining an intercept solutiion. It eliminates the need to pass a lot of variables between routines. And by not storing the data as member variables in the launch computer object, it will enable multiple evaluations (threads) to be performed in parallel.

Constructor & Destructor Documentation

◆ SA_Evaluator()

Member Function Documentation

◆ CheckForInterceptOnRangeLine()

◆ FindLaunchWindowEnd()

void WsfBallisticMissileLaunchComputer::SA_Evaluator::FindLaunchWindowEnd ( double & aTimeToLaunch,
double & aTimeToIntercept,
double & aTimeOfFlight,
double & aLoftAngle,
double & aInterceptSpeed,
double & aInterceptFlightPathAngle )

Find the last possible intercept within the current launch window. This method should only be called after a previously successful call to FindLaunchWindowStart. It continues to iterate forward in time from the start of the launch window (as determined by FindLaunchWindowStart) until it finds a point at which an intercept cannot occur. The values returned represent the last time at which a successful intercept can occur.

References CheckForInterceptOnRangeLine(), WsfMover::KinematicModel::GetRangeAndAltitude(), mBegAltitude, mBegLocXYZ, mBegRange, mBegRangeIndex, mBegTime, mClosing, mComputerPtr, mEndAltitude, mEndLocXYZ, mEndRange, mEndRangeIndex, mEndTime, WsfLaunchComputer::mEndTime, mIterCount, mLastRange, mLaunchLocXYZ, mSA_Table, and mTargetDataPtr.

Referenced by WsfBallisticMissileLaunchComputer::ComputeLaunchWindows().

◆ FindLaunchWindowStart()

void WsfBallisticMissileLaunchComputer::SA_Evaluator::FindLaunchWindowStart ( double & aTimeToLaunch,
double & aTimeToIntercept,
double & aTimeOfFlight,
double & aLoftAngle,
double & aInterceptSpeed,
double & aInterceptFlightPathAngle )

Member Data Documentation

◆ mAltitudeLU

TblLookupLUBX<double> WsfBallisticMissileLaunchComputer::SA_Evaluator::mAltitudeLU

◆ mBaseTime

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mBaseTime

◆ mBegAltitude

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mBegAltitude

◆ mBegLocXYZ

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mBegLocXYZ[3]

◆ mBegRange

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mBegRange

◆ mBegRangeIndex

int WsfBallisticMissileLaunchComputer::SA_Evaluator::mBegRangeIndex

◆ mBegTime

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mBegTime

◆ mCheckGeometry

bool WsfBallisticMissileLaunchComputer::SA_Evaluator::mCheckGeometry

◆ mClosing

bool WsfBallisticMissileLaunchComputer::SA_Evaluator::mClosing

◆ mComputerPtr

const WsfBallisticMissileLaunchComputer* WsfBallisticMissileLaunchComputer::SA_Evaluator::mComputerPtr

◆ mEndAltitude

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mEndAltitude

◆ mEndLocXYZ

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mEndLocXYZ[3]

◆ mEndRange

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mEndRange

◆ mEndRangeIndex

int WsfBallisticMissileLaunchComputer::SA_Evaluator::mEndRangeIndex

◆ mEndTime

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mEndTime

◆ mIterCount

int WsfBallisticMissileLaunchComputer::SA_Evaluator::mIterCount

◆ mLastRange

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mLastRange

◆ mLaunchLocXYZ

double WsfBallisticMissileLaunchComputer::SA_Evaluator::mLaunchLocXYZ[3]

◆ mSA_Table

const SA_Table& WsfBallisticMissileLaunchComputer::SA_Evaluator::mSA_Table

◆ mTargetDataPtr


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