WSF
BallisticMissileLaunchComputerGenerator.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 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 BALLISTICMISSILELAUNCHCOMPUTERGENERATOR_HPP
13#define BALLISTICMISSILELAUNCHCOMPUTERGENERATOR_HPP
14
15#include <fstream>
16#include <string>
17#include <vector>
18
19#include "Tool.hpp"
20#include "WeaponToolsExport.hpp"
22
24{
25public:
30 Tool* Clone() const override;
31 bool Initialize(WsfSimulation& aSimulation) override;
32 bool ProcessInput(UtInput& aInput) override;
33 void Update(double aSimTime) override;
34
35private:
36 bool FireNewWeapon(double aSimTime) override;
37
38 void InitLoftDepressAngles();
39
40 std::string mAirTargetFileName;
41 std::ofstream mAirTargetOfs;
42 std::string mSurfaceTargetFileName;
43 std::ofstream mSurfaceTargetOfs;
44 std::string mGnuplotFileName;
45 std::ofstream mGnuplotOfs;
46
47 std::vector<double> mLoftAngles;
48 std::vector<double> mBurnTimes;
49 double mMinOutputTime;
50 double mMaxOutputTime;
51 double mMinOutputRange;
52 double mMaxOutputRange;
53 double mMaxOutputAlt;
54 bool mLimitedToPreApogee;
55
56 int mPassNumber;
57 double mPass1_LoftAngleStart;
58 double mPass1_LoftAngleStep;
59 double mPass1_LoftAngleStop;
60 double mPass2_LoftAngleStep;
61 double mPass2_LoftAngleStop;
62
63 size_t mLoftAngleIndex;
64 size_t mBurnTimeIndex;
65 double mLoftAngle;
66 double mBurnTime;
67
68 double mRange;
69 double mMaxAltitude;
70 double mRangeAtMaxAltitude;
71 double mTimeAtMaxAltitude;
72
73 double mBestLoftAngle;
74 double mBestRange;
75
76 std::vector<double> mLoftDepressAngles;
77 bool mUsingDepressedTraj;
78 bool mUsingLoftedTraj;
79 size_t mLoftDepressAngleIndex;
80 bool mLoftDepressAnglesInitialized;
81 double mLoftDepressAnglesMaxAngle;
82 double mLoftDepressAnglesMinAngle;
83 double mLoftDepressAnglesDeltaAngle;
84 double mLoftDepressAnglesStepValue;
85
86 bool mWriteAirTargetData;
87};
88
89#endif
#define WT_EXPORT
Definition WeaponToolsExport.hpp:26
BallisticMissileLaunchComputerGenerator & operator=(const BallisticMissileLaunchComputerGenerator &)=delete
BallisticMissileLaunchComputerGenerator(WsfScenario &aScenario)
Definition BallisticMissileLaunchComputerGenerator.cpp:36
virtual bool Initialize(WsfSimulation &aSimulation)
Definition Tool.cpp:206
bool ProcessInput(UtInput &aInput) override
Definition Tool.cpp:103
Tool(const Tool &aSrc)
Definition Tool.cpp:65
virtual void Update(double aSimTime)
Definition Tool.cpp:336
Tool * Clone() const override=0
virtual bool FireNewWeapon(double aSimTime)=0
Definition WsfBallisticMissileLaunchComputer.hpp:40
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved