WSF
WsfExoAtmosphericLethality.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 WSFEXOATMOSPHERICLETHALITY_HPP
13#define WSFEXOATMOSPHERICLETHALITY_HPP
14
15#include "wsf_mil_export.h"
16
17#include <vector>
18
19class UtInputBlock;
20#include "UtRandom.hpp"
21#include "UtVec3.hpp"
23
30
32{
33public:
35 ~WsfExoAtmosphericLethality() override = default;
36
37 WsfWeaponEffects* Clone() const override;
38 bool PreInitialize() override;
39 bool Initialize(double aSimTime, const WsfWeaponEngagement* aEngagementPtr) override;
40 bool ProcessInput(UtInput& aInput) override;
41 void CalcInterceptPk(double aSimTime, WsfPlatform* aTargetPtr) override;
42 void Terminate(double aSimTime) override;
43
44protected:
45 // The "pair" below is (Independent Value, resulting Pk);
46 using IvPkPair = std::pair<double, double>;
47 using Points = std::vector<IvPkPair>;
48
50
53
54 // void ProcessDebrisBlock(UtInputBlock& aInputBlock);
55 double InterpPkArray(double aIV_Value, const Points& aArray) const;
56 double GetVelocityPk(double aVelocityValue);
57 double GetAnglePk(double aAngleValue);
58
59 /*class DebrisType
60 {
61 public:
62 double mProjectileDispersion;
63 double mTangentialVelocitySigma;
64 double mDetectableMassFraction;
65 double mMinDetectableParticleMass;
66 //double mMaxParticleMass;
67 double mCDA;
68 bool ProcessInput(UtInput& aInput);
69 void ProcessBlock(UtInputBlock& aInputBlock);
70 DebrisType();
71 };
72
73 struct PlatformData {
74 public:
75 PlatformData(double aMass, const double aVelWCS[]) : mMass(aMass)
76 {
77 UtVec3d::Set(mVelWCS, aVelWCS);
78 }
79 double mMass;
80 double mVelWCS[3];
81 };
82
83 typedef std::vector<DebrisType> DebrisTypes;*/
84
85private:
86 bool mEnableDebris;
87 Points mImpactVelocityPoints;
88 Points mImpactAnglePoints;
89 // DebrisTypes mDebrisTypes;
90 ut::Random mRandom;
91};
92
93#endif
std::vector< IvPkPair > Points
Definition WsfExoAtmosphericLethality.hpp:47
WsfExoAtmosphericLethality(WsfScenario &aScenario)
Default constructor.
Definition WsfExoAtmosphericLethality.cpp:38
WsfExoAtmosphericLethality & operator=(const WsfExoAtmosphericLethality &aRhs)=delete
Prevent use of operator= by declaring, but not defining.
WsfExoAtmosphericLethality(const WsfExoAtmosphericLethality &aSrc)=default
~WsfExoAtmosphericLethality() override=default
double GetVelocityPk(double aVelocityValue)
Definition WsfExoAtmosphericLethality.cpp:262
double InterpPkArray(double aIV_Value, const Points &aArray) const
Definition WsfExoAtmosphericLethality.cpp:188
std::pair< double, double > IvPkPair
Definition WsfExoAtmosphericLethality.hpp:46
double GetAnglePk(double aAngleValue)
Definition WsfExoAtmosphericLethality.cpp:268
void CalcInterceptPk(double aSimTime, WsfPlatform *aTargetPtr) override
Definition WsfExplicitWeaponEffects.cpp:90
bool ProcessInput(UtInput &aInput) override
Definition WsfExplicitWeaponEffects.cpp:65
WsfExplicitWeaponEffects(WsfScenario &aScenario)
Definition WsfExplicitWeaponEffects.cpp:29
WsfWeaponEffects * Clone() const override
Definition WsfExplicitWeaponEffects.cpp:39
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
virtual bool Initialize(double aSimTime, const WsfWeaponEngagement *aEngagementPtr)
Definition WsfWeaponEffects.cpp:150
virtual void Terminate(double aSimTime)
Definition WsfWeaponEffects.cpp:362
virtual bool PreInitialize()
Definition WsfWeaponEffects.cpp:125
WsfWeaponEffects(WsfScenario &aScenario)
Definition WsfWeaponEffects.cpp:51
Definition WsfWeaponEngagement.hpp:43
Copyrights Multiple, All Rights Reserved