WSF
WsfPiecewiseExponentialAtmosphere.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2020 Infoscitex, a DCS 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 WSFPIECEWISEEXPONENTIALATMOSPHERE_HPP
13#define WSFPIECEWISEEXPONENTIALATMOSPHERE_HPP
14
15#include "wsf_space_export.h"
16
17#include <array>
18
19#include "WsfAtmosphere.hpp"
20
21namespace wsf
22{
23namespace space
24{
25
32class WSF_SPACE_EXPORT PiecewiseExponentialAtmosphere : public Atmosphere
33{
34public:
37 ~PiecewiseExponentialAtmosphere() override = default;
38
40
41 const char* GetScriptClassName() const override { return "WsfPiecewiseExponentialAtmosphere"; }
42
43 double GetDensity(const UtCalendar& aEpoch, const UtLLAPos& aLLA) const override;
44
45 static constexpr const char* cTYPE{"WSF_PIECEWISE_EXPONENTIAL_ATMOSPHERE"};
46
47private:
48 struct Row
49 {
50 Row(double aBaseHeight, double aScaleHeight, double aBaseDensity)
51 : mBaseHeight{aBaseHeight}
52 , mScaleHeight{aScaleHeight}
53 , mBaseDensity{aBaseDensity}
54 {
55 }
56
57 double mBaseHeight; // km
58 double mScaleHeight; // km
59 double mBaseDensity; // kg / m^3
60 };
61
62 static const std::array<Row, 28> mTable;
63};
64
65} // namespace space
66} // namespace wsf
67
68#endif // WSFPIECEWISEEXPONENTIALATMOSPHERE_HPP
Atmosphere()
Definition WsfAtmosphere.cpp:25
PiecewiseExponentialAtmosphere * Clone() const override
Definition WsfPiecewiseExponentialAtmosphere.hpp:39
const char * GetScriptClassName() const override
Definition WsfPiecewiseExponentialAtmosphere.hpp:41
PiecewiseExponentialAtmosphere()
Definition WsfPiecewiseExponentialAtmosphere.cpp:38
static constexpr const char * cTYPE
Definition WsfPiecewiseExponentialAtmosphere.hpp:45
~PiecewiseExponentialAtmosphere() override=default
PiecewiseExponentialAtmosphere(const PiecewiseExponentialAtmosphere &aOther)=default
Definition WsfAtmosphere.cpp:23
Function definitions for those who need run-time access to the version.
Definition WsfComm.cpp:32
Copyrights Multiple, All Rights Reserved