|
WSF
|
#include <WsfLASER_CommXmtrComponent.hpp>


Classes | |
| class | Modulation |
Public Member Functions | |
| WsfLASER_CommXmtrComponent () | |
| WsfLASER_CommXmtrComponent (const WsfLASER_CommXmtrComponent &aSrc) | |
| WsfLASER_CommXmtrComponent & | operator= (const WsfLASER_CommXmtrComponent &)=delete |
| Public Member Functions inherited from WsfLASER_XmtrComponent | |
| WsfLASER_XmtrComponent () | |
| WsfLASER_XmtrComponent (const WsfLASER_XmtrComponent &aSrc)=default | |
| WsfLASER_XmtrComponent & | operator= (const WsfLASER_XmtrComponent &)=delete |
| void | ComponentParentChanged (WsfEM_Xmtr *aXmtr) override |
| The default earth radius multiplier should be 1.0 (optical). | |
| bool | Initialize (double aSimTime) override |
| bool | ProcessInput (UtInput &aInput) override |
| double | GetApertureDiameter () const |
| Return the receiver's aperture diameter. | |
| double | GetApertureArea () const |
| Get the aperture area, assumed circular. | |
| double | GetTransmitAntennaGain () const |
| double | GetAntennaGain () const |
| double | GetBeamwidth () const |
| Return the angular width of the transmitted beam. | |
| double | GetOpticsTransmissionFactor () const |
| Return the fraction of the transmitted laser light that passes through the transmitter optics. | |
| double | GetWavefrontTransmissionFactor () const |
| Return the fraction of laser light that passes through a the transmitter optical path as a function of wavefront error. | |
| WsfStringId | GetComponentName () const override |
| WsfComponent * | CloneComponent () const override |
| const int * | GetComponentRoles () const override |
| void * | QueryInterface (int aRole) override |
| Public Member Functions inherited from WsfComponentT< WsfEM_Xmtr > | |
| WsfComponentT () | |
| WsfComponentT (const WsfComponentT &) noexcept | |
| WsfComponentT & | operator= (const WsfComponentT &) noexcept |
| ~WsfComponentT () override=default | |
| ParentType * | GetComponentParent () const |
| void | SetComponentParent (ParentType *aParentPtr) |
| Public Member Functions inherited from WsfComponent | |
| virtual | ~WsfComponent ()=default |
| virtual int | GetComponentInitializationOrder () const |
| template<typename T> | |
| bool | QueryInterfaceT (T *&aRolePtr) |
| bool | ComponentHasRole (int aRole) |
| Returns true if the component has the specified role. | |
| virtual bool | Initialize2 (double aSimTime) |
| virtual void | PreInput () |
Framework method overrides. | |
| bool | PreInitialize (double aSimTime) override |
| bool | Initialize (double aSimTime) override |
| bool | ProcessInput (UtInput &aInput) override |
| double | GetPointingTransmission () const |
| double | GetDataRate () const |
| Return the data rate of this comm device (pass-through from Modulation). | |
| double | GetDutyCycle () const |
| Return the duty cycle (time the laser is on; pass-through from Modulation). | |
| Modulation & | GetModulation () |
WsfComponent required methods. | |
| WsfComponent * | CloneComponent () const override |
Additional Inherited Members | |
| Public Types inherited from WsfComponentT< WsfEM_Xmtr > | |
| typedef WsfEM_Xmtr | ParentType |
| This is needed to support the WsfComponentList template. | |
A LASER transmitter component specialized for comm devices. In addition to the functionality provided by WsfLASER_XmtrComponent, this component also provides comm modulation and pointing transmission loss.
| WsfLASER_CommXmtrComponent::WsfLASER_CommXmtrComponent | ( | ) |
References WsfLASER_XmtrComponent::WsfLASER_XmtrComponent().
Referenced by CloneComponent(), operator=(), and WsfLASER_CommXmtrComponent().
| WsfLASER_CommXmtrComponent::WsfLASER_CommXmtrComponent | ( | const WsfLASER_CommXmtrComponent & | aSrc | ) |
|
overridevirtual |
Clones a component. May return null if component does not support clone.
Implements WsfComponent.
References WsfLASER_CommXmtrComponent().
|
inline |
Return the data rate of this comm device (pass-through from Modulation).
|
inline |
Return the duty cycle (time the laser is on; pass-through from Modulation).
|
inline |
|
inline |
Get the pointing transmission factor (0-1) associated with slight pointing offset of the transmitter to receiver.
|
overridevirtual |
Perform phase 1 initialization. This is called by WsfPlatform::Initialize() during phase 1 initialization of the platform. The component should complete validation of input data that could not be done by ProcessInput, as well as any other functions to prepare for simulation use (subject to the next paragraph).
The order in which components are initialized is defined by GetComponentInitializationOrder. In general a component implementation of this method should not be dependent on the state of another component, i.e.: it should not assume that the other components Initialize() method has been called. If such a dependency exists one should use Initialize2() if possible, or specify a value GetComponentInitializationOrder to force things to initialize in a particular order.
| aSimTime | The current simulation time. |
Reimplemented from WsfComponent.
References WsfComponentT< WsfEM_Xmtr >::GetComponentParent(), WsfLASER_XmtrComponent::Initialize(), ok, WsfEM_Xmtr::SetDutyCycle(), and WsfEM_Xmtr::SetPower().
|
delete |
References WsfLASER_CommXmtrComponent().
|
overridevirtual |
Perform pre-initializion function. This is called by WsfPlatform::Initialize prior to actually initializing the components on a platform (i.e.: calling Initialize and Initialize2 for each component). The primary reason for this method is to allow components to add other components that will then be subsequently initialized. The component may examine the component list and add components, but it must not assume ANYTHING about the actual state of the component.
| aSimTime | The current simulation time. |
Reimplemented from WsfComponent.
References WsfComponentT< WsfEM_Xmtr >::GetComponentParent().
|
overridevirtual |
Evaluate the current input command and determine if it is one processed by the component. The component should get the current command from the input stream and determine if it is one that it recognizes. If it does not recognize the command then it should leave the command in the input stream and return false. If it does recognize the command then it should process the command and return true. If invalid arguments are encountered then it should throw an exception.
| aInput | The input stream. |
| UtInput::ExceptionBase | if an invalid input was encountered. |
Reimplemented from WsfComponent.
References WsfLASER_XmtrComponent::ProcessInput().