WSF
WsfEW_PolModEffect.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 WSFEW_POLMODEFFECT_HPP
13#define WSFEW_POLMODEFFECT_HPP
14
15#include "wsf_mil_export.h"
16
17#include <iosfwd>
18#include <map>
19
20class UtInput;
21
22#include "WsfEM_Interaction.hpp"
23class WsfEM_Rcvr;
24class WsfEM_Xmtr;
26#include "WsfEW_Types.hpp"
27
28class WSF_MIL_EXPORT WsfEW_PolModEffect : public WsfEW_SLC_DegradeEffect
29{
30public:
31 // TODO - not too sure I need this enumeration as I can apply all the factors with
32 // default values without any issues or modification to the data if they do not apply
38
41 ~WsfEW_PolModEffect() override = default;
42 WsfEW_Effect* Clone() const override;
43 bool Initialize(WsfSimulation& aSimulation) override;
44 bool ProcessInput(UtInput& aInput) override;
45
46
47 void ApplyUnmitigatedEffect(WsfEW_Effects& aEW_Effects) const override;
48
49 void ApplyMitigatedEffect(WsfEW_Effect* aEW_EffectPtr, WsfEW_Effects& aEW_Effects) const override;
50
52
53
54 double GetPolarizationSwitchingRate(WsfStringId aSystemTypeId);
56
57protected:
59 {
60 public:
61 PolModData();
62 PolModData& operator=(const PolModData&) = delete;
63 ~PolModData() override = default;
64
65 bool ProcessInput(UtInput& aInput) override;
66 bool Initialize(WsfSimulation& aSimulation) override;
67
68 EW_EffectData* Clone() const override;
69
70 void Reset() override;
71
75
76 protected:
77 PolModData(const PolModData& aSrc) = default;
78 };
79
81
83
84 EffectData* NewEffectData() override;
85 EffectData* PropagateEffectDataPtr(WsfStringId aSystemTypeId) override;
87
88private:
89 using PolModDataMap =
90 std::map<WsfStringId, PolModData*>;
91
92 // Input variables
93 PolModDataMap mPolModDataMap;
94};
95
96#endif
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
Base effect data used to derive from in inheriting effect classes.
Definition WsfEW_Effect.hpp:317
Definition WsfEW_Effect.hpp:45
Definition WsfEW_Effects.hpp:41
double mPolSwitchRate
Definition WsfEW_PolModEffect.hpp:74
void Reset() override
Definition WsfEW_PolModEffect.cpp:140
~PolModData() override=default
PolModData & operator=(const PolModData &)=delete
PolModData(const PolModData &aSrc)=default
PolModData()
Definition WsfEW_PolModEffect.cpp:102
Definition WsfEW_PolModEffect.hpp:29
WsfEW_PolModEffect & operator=(const WsfEW_PolModEffect &)=delete
PolModEffect
Definition WsfEW_PolModEffect.hpp:34
@ cPME_DEGRADE_SLC
Definition WsfEW_PolModEffect.hpp:35
@ cPME_SATURATE_SLC
Definition WsfEW_PolModEffect.hpp:36
~WsfEW_PolModEffect() override=default
double GetPolarizationSwitchingRate(WsfStringId aSystemTypeId)
Definition WsfEW_PolModEffect.cpp:77
WsfEW_PolModEffect()
Definition WsfEW_PolModEffect.cpp:27
Definition WsfEW_SLC_DegradeEffect.hpp:65
EffectData * NewEffectData() override
Definition WsfEW_SLC_DegradeEffect.cpp:113
void ApplyMitigatedEffect(WsfEW_Effect *aEW_EffectPtr, WsfEW_Effects &aEW_Effects) const override
Definition WsfEW_SLC_DegradeEffect.cpp:80
bool ProcessInput(UtInput &aInput) override
Definition WsfEW_SLC_DegradeEffect.cpp:62
EffectData * PropagateEffectDataPtr(WsfStringId aSystemTypeId) override
Definition WsfEW_SLC_DegradeEffect.cpp:86
void ApplyUnmitigatedEffect(WsfEW_Effects &aEW_Effects) const override
Definition WsfEW_SLC_DegradeEffect.cpp:68
WsfEW_SLC_DegradeEffect()
Definition WsfEW_SLC_DegradeEffect.cpp:29
WsfEW_Effect * Clone() const override
Definition WsfEW_SLC_DegradeEffect.cpp:44
bool Initialize(WsfSimulation &aSimulation) override
Definition WsfEW_SLC_DegradeEffect.cpp:49
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved