WSF
SOSM_SimpleTarget.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef SOSM_SIMPLETARGET_HPP
13#define SOSM_SIMPLETARGET_HPP
14
16#include "SOSM_Target.hpp"
17
19{
20public:
21 SOSM_SimpleTarget(SOSM_Manager* aManagerPtr);
22
23 SOSM_Target* Clone() const override;
24
25 void ComputeRadiantIntensity(const SOSM_SpectralObject& aRequestor,
26 SOSM_Interaction& aInteraction,
27 std::vector<float>& aBodyIntensity,
28 float& aBodyArea,
29 std::vector<float>& aPlumeIntensity,
30 float& aPlumeArea) override;
31
32 void GetSamplePoints(SOSM_Interaction& aInteraction, std::vector<float>& aAzValues, std::vector<float>& aElValues) override;
33
34 void GetSampleTargetState(SOSM_Interaction& aInteraction, float& aAltitude, float& aSpeed, float& aThrottle) override;
35
36 float BodyTemperature(SOSM_Interaction& aInteraction);
37
38protected:
39 StateBase* CreateState(const std::string& aStateName) const override;
40
42
43 class ST_State : public StateBase
44 {
45 public:
46 ST_State(const std::string& aStateName);
47
48 void InputComplete(SOSM_Target& aTarget) override;
49
50 bool ProcessInput(UtInput& aInput, SOSM_Target& aTarget) override;
51
52 void ReadRadiantIntensity(UtInput& aInput, float& aValue);
53
56
59
62
65
68
71
73 float mGamma;
74
78
81
84
87
90
93
96
99
102
105
108
111 };
112};
113
114#endif
Definition SOSM_Interaction.hpp:46
A singleton class that manages SOSM data.
Definition SOSM_Manager.hpp:32
std::shared_ptr< SOSM_ScalarTable2D > TablePtr
Definition SOSM_ScalarTable2D.hpp:27
PolarTablePtr mHotPartAreaFractionTablePtr
The area of the hot parts as a fraction of the total structure area.
Definition SOSM_SimpleTarget.hpp:61
float mConstantPlumeArea
The constant plume area. (cm^2).
Definition SOSM_SimpleTarget.hpp:92
float mSampleSpeed
The sample speed used for fast detection mode table generation.
Definition SOSM_SimpleTarget.hpp:104
bool mSampleSpeedIsMach
True if the sample speed is a mach number.
Definition SOSM_SimpleTarget.hpp:110
float mColdPartRadiantIntensity
The constant radiant intensity (replaces blackbody model if > 0.0) (W/sr).
Definition SOSM_SimpleTarget.hpp:80
float mHotPartRadiantIntensity
The constant hot part radiant intensity (replaces blackbody model if > 0.0) (W/sr).
Definition SOSM_SimpleTarget.hpp:89
float mColdPartTemperature
Definition SOSM_SimpleTarget.hpp:77
PolarTablePtr mHotPartAreaTablePtr
The hot part area as a function of az/el. (cm^2).
Definition SOSM_SimpleTarget.hpp:58
ST_State(const std::string &aStateName)
Definition SOSM_SimpleTarget.cpp:303
PolarTablePtr mPlumeAreaTablePtr
The plume area as a function of az/el. (cm^2).
Definition SOSM_SimpleTarget.hpp:64
float mSampleThrottle
The sample throttle used for fast detection mode table generation.
Definition SOSM_SimpleTarget.hpp:107
float mConstantColdPartArea
The constant cold part area. (cm^2).
Definition SOSM_SimpleTarget.hpp:67
float mPlumeTemperature
The constant plume temperature (used for blackbody model if > 0.0).
Definition SOSM_SimpleTarget.hpp:95
float mPlumeRadiantIntensity
The constant plume radiant intensity (replaces blackbody model if > 0.0) (W/sr).
Definition SOSM_SimpleTarget.hpp:98
float mRecoveryFactor
The user defined recovery factor (for aero heating model).
Definition SOSM_SimpleTarget.hpp:70
float mSampleAltitude
The sample altitude used for fast detection mode table generation.
Definition SOSM_SimpleTarget.hpp:101
bool ProcessInput(UtInput &aInput, SOSM_Target &aTarget) override
Definition SOSM_SimpleTarget.cpp:372
PolarTablePtr mColdPartAreaTablePtr
The cold part area (or total structure area) as a function of az/el. (cm^2).
Definition SOSM_SimpleTarget.hpp:55
float mGamma
Ratio of specific heats (for aero heating model).
Definition SOSM_SimpleTarget.hpp:73
float mHotPartTemperature
The constant hot part temperature (used for blackbody model if > 0.0).
Definition SOSM_SimpleTarget.hpp:86
float mConstantHotPartArea
The constant hot part area. (cm^2).
Definition SOSM_SimpleTarget.hpp:83
void ReadRadiantIntensity(UtInput &aInput, float &aValue)
Definition SOSM_SimpleTarget.cpp:529
StateBase * CreateState(const std::string &aStateName) const override
Called by the base class to create an instance of State specific to our model.
Definition SOSM_SimpleTarget.cpp:297
SOSM_Target * Clone() const override
A virtual copy constructor.
Definition SOSM_SimpleTarget.cpp:34
void ComputeRadiantIntensity(const SOSM_SpectralObject &aRequestor, SOSM_Interaction &aInteraction, std::vector< float > &aBodyIntensity, float &aBodyArea, std::vector< float > &aPlumeIntensity, float &aPlumeArea) override
Definition SOSM_SimpleTarget.cpp:42
SOSM_ScalarTable2D::TablePtr PolarTablePtr
Definition SOSM_SimpleTarget.hpp:41
void GetSamplePoints(SOSM_Interaction &aInteraction, std::vector< float > &aAzValues, std::vector< float > &aElValues) override
Return the sample points to be used for 'fast detection mode' table generation.
Definition SOSM_SimpleTarget.cpp:213
SOSM_SimpleTarget(SOSM_Manager *aManagerPtr)
Definition SOSM_SimpleTarget.cpp:27
float BodyTemperature(SOSM_Interaction &aInteraction)
Definition SOSM_SimpleTarget.cpp:274
void GetSampleTargetState(SOSM_Interaction &aInteraction, float &aAltitude, float &aSpeed, float &aThrottle) override
Get the sample target state (altitude, speed, throttle) (for fast detection mode table generation).
Definition SOSM_SimpleTarget.cpp:244
SOSM_SpectralObject()
Definition SOSM_SpectralObject.hpp:49
Definition SOSM_Target.hpp:37
StateBase(const std::string &aStateName)
Definition SOSM_Target.cpp:148
SOSM_Target(SOSM_Manager *aManagerPtr)
Constructor.
Definition SOSM_Target.cpp:25
void InputComplete() override
Definition SOSM_Target.cpp:54
Copyrights Multiple, All Rights Reserved