WSF
WsfESM_Sensor.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 WSFESM_SENSOR_HPP
13#define WSFESM_SENSOR_HPP
14
15#include "wsf_mil_export.h"
16
17#include <memory>
18
19#include "WsfPassiveSensor.hpp"
20
23
24class WSF_MIL_EXPORT WsfESM_Sensor : public WsfPassiveSensor
25{
26public:
27 // Define inner classes to be declared friends to access outer class members on some compilers
28
30 class WSF_MIL_EXPORT ESM_Mode : public WsfPassiveSensor::PassiveMode
31 {
32 public:
33 ESM_Mode() = default;
34 ESM_Mode(const ESM_Mode& aSrc) = default;
35 ESM_Mode& operator=(const ESM_Mode& aSrc) = default;
36 ~ESM_Mode() override = default;
37
38 // WsfSensorMode methods
39 WsfMode* Clone() const override;
40
41 protected:
42 void ComputeInterferenceEffect(double aSimTime, WsfEM_Xmtr* aXmtrPtr, WsfEM_Rcvr* aRcvrPtr) override;
43
44 bool UseListenerForInterferer(WsfEM_Xmtr* aXmtrPtr) override;
45 };
46
47 WsfESM_Sensor(WsfScenario& aScenario);
48 WsfESM_Sensor(const WsfESM_Sensor& aSrc) = default;
49 WsfESM_Sensor& operator=(const WsfESM_Sensor& aSrc) = delete;
50 ~WsfESM_Sensor() override = default;
51
53
54 WsfSensor* Clone() const override;
56
57 const char* GetScriptClassName() const override { return "WsfESM_Sensor"; }
58
59 static std::unique_ptr<UtScriptClass> CreateScriptClass(const std::string& aClassName, UtScriptTypes* aScriptTypesPtr);
60};
61
62#endif
Definition WsfEM_Rcvr.hpp:68
Definition WsfEM_Xmtr.hpp:55
bool UseListenerForInterferer(WsfEM_Xmtr *aXmtrPtr) override
Returns true if the mode should utilize the 'listener' detection method for a jamming beam.
Definition WsfESM_Sensor.cpp:76
~ESM_Mode() override=default
void ComputeInterferenceEffect(double aSimTime, WsfEM_Xmtr *aXmtrPtr, WsfEM_Rcvr *aRcvrPtr) override
Definition WsfESM_Sensor.cpp:51
ESM_Mode(const ESM_Mode &aSrc)=default
ESM_Mode & operator=(const ESM_Mode &aSrc)=default
WsfESM_Sensor & operator=(const WsfESM_Sensor &aSrc)=delete
const char * GetScriptClassName() const override
Definition WsfESM_Sensor.hpp:57
WsfESM_Sensor(const WsfESM_Sensor &aSrc)=default
~WsfESM_Sensor() override=default
WsfESM_Sensor(WsfScenario &aScenario)
Definition WsfESM_Sensor.cpp:24
WsfMode()
Definition WsfMode.cpp:15
A 'mode' of the sensor.
Definition WsfPassiveSensor.hpp:209
static std::unique_ptr< UtScriptClass > CreateScriptClass(const std::string &aClassName, UtScriptTypes *aScriptTypesPtr)
Definition WsfPassiveSensor.cpp:2408
WsfSensor * Clone() const override
Definition WsfPassiveSensor.cpp:117
WsfPassiveSensor(WsfScenario &aScenario)
Definition WsfPassiveSensor.cpp:46
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
WsfSensor(const WsfScenario &aScenario)
Definition WsfSensor.cpp:52
Copyrights Multiple, All Rights Reserved