WSF
SOSM_TableAtmosphere.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_TABLEATMOSPHERE_HPP
13#define SOSM_TABLEATMOSPHERE_HPP
14
15#include <memory>
16#include <string>
17#include <vector>
18
19#include "SOSM_Atmosphere.hpp"
22
27
29{
30public:
32 // Using the default copy constructor.
33 // Using the default destructor.
34
35 SOSM_Atmosphere* Clone() const override;
36
37 void InputComplete() override;
38
39 bool ProcessInput(UtInput& aInput) override;
40
41 void ComputeAtmosphereData(const SOSM_Selector& aSelector,
42 SOSM_Interaction& aInteraction,
43 std::vector<float>& aBackgroundRadiance,
44 std::vector<float>& aForegroundRadiance,
45 std::vector<float>& aForegroundTransmittance) override;
46
47 void GetSamplePoints(std::vector<float>& aAltValues, std::vector<float>& aElValues, std::vector<float>& aRangeValues) override;
48
49private:
50 void CheckIV(const std::string& aVarName, const TblIndVarU<float>& aIV1, const TblIndVarU<float>& aIV2) const;
51
52 class SharedData
53 {
54 public:
55 SharedData(SOSM_Manager* aManagerPtr);
56 // NOTE: all tables should have the same independent variable breakpoints.
57
59 SOSM_SpectralTable2D mBackgroundRadiance;
60
62 SOSM_SpectralTable3D mForegroundRadiance;
63
65 SOSM_SpectralTable3D mForegroundTransmittance;
66 };
67
70 std::shared_ptr<SharedData> mSharedDataPtr;
71};
72
73#endif
SOSM_Atmosphere()
Constructor.
Definition SOSM_Atmosphere.cpp:16
Definition SOSM_Interaction.hpp:46
A singleton class that manages SOSM data.
Definition SOSM_Manager.hpp:32
Definition SOSM_Selector.hpp:24
A spectral table with two independent variables.
Definition SOSM_SpectralTable2D.hpp:26
A spectral table with two independent variables.
Definition SOSM_SpectralTable3D.hpp:26
SOSM_Atmosphere * Clone() const override
A virtual copy constructor.
Definition SOSM_TableAtmosphere.cpp:33
void GetSamplePoints(std::vector< float > &aAltValues, std::vector< float > &aElValues, std::vector< float > &aRangeValues) override
Definition SOSM_TableAtmosphere.cpp:171
bool ProcessInput(UtInput &aInput) override
Definition SOSM_TableAtmosphere.cpp:77
void InputComplete() override
Definition SOSM_TableAtmosphere.cpp:40
SOSM_TableAtmosphere(SOSM_Manager *aManagerPtr)
Definition SOSM_TableAtmosphere.cpp:25
void ComputeAtmosphereData(const SOSM_Selector &aSelector, SOSM_Interaction &aInteraction, std::vector< float > &aBackgroundRadiance, std::vector< float > &aForegroundRadiance, std::vector< float > &aForegroundTransmittance) override
Definition SOSM_TableAtmosphere.cpp:129
Copyrights Multiple, All Rights Reserved