|
WSF
|
#include <WsfLASER_XmtrComponent.hpp>


Public Member Functions | |
| WsfLASER_XmtrComponent () | |
| WsfLASER_XmtrComponent (const WsfLASER_XmtrComponent &aSrc)=default | |
| WsfLASER_XmtrComponent & | operator= (const WsfLASER_XmtrComponent &)=delete |
| 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 | PreInitialize (double aSimTime) |
| virtual bool | Initialize2 (double aSimTime) |
| virtual void | PreInput () |
Framework methods. | |
| 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. | |
WsfComponent required methods. | |
| WsfStringId | GetComponentName () const override |
| WsfComponent * | CloneComponent () const override |
| const int * | GetComponentRoles () const override |
| void * | QueryInterface (int aRole) 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. This class simply serves to provide LASER, or narrowband optical, configuration data to be used with WsfEM_Xmtr.
| WsfLASER_XmtrComponent::WsfLASER_XmtrComponent | ( | ) |
|
default |
References WsfLASER_XmtrComponent().
|
overridevirtual |
Clones a component. May return null if component does not support clone.
Implements WsfComponent.
References WsfLASER_XmtrComponent().
|
overridevirtual |
The default earth radius multiplier should be 1.0 (optical).
Reimplemented from WsfComponentT< WsfEM_Xmtr >.
References WsfComponentT< WsfEM_Xmtr >::GetComponentParent(), and WsfEM_XmtrRcvr::SetEarthRadiusMultiplier().
|
inline |
Return the "antenna gain" associated with this transmitter (see reference guide), including losses for optics transmission and wavefront error.
| double WsfLASER_XmtrComponent::GetApertureArea | ( | ) | const |
Get the aperture area, assumed circular.
|
inline |
Return the receiver's aperture diameter.
|
inline |
Return the angular width of the transmitted beam.
|
overridevirtual |
Returns the component's name. Each component in a component list has a unique name. Names are usually defined by the user, but they may also be generated by code and prefixed with a '#' to guarantee no collisions with user-defined names.
Implements WsfComponent.
|
overridevirtual |
Returns a zero-terminated array of component roles. Note that the array should be in decreasing order of specificity and should generally the inheritance hierarchy. The first entry should be the components 'primary' role. For example a sensor would do the following:
Implements WsfComponent.
References cWSF_COMPONENT_LASER_XMTR.
|
inline |
Return the fraction of the transmitted laser light that passes through the transmitter optics.
|
inline |
Return the transmit "antenna gain" (see reference guide), not including losses for optics transmission and wavefront error.
|
inline |
Return the fraction of laser light that passes through a the transmitter optical path as a function of wavefront error.
|
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(), WsfEM_XmtrRcvr::GetFrequency(), WsfEM_Xmtr::GetPulseWidth(), WsfEM_XmtrRcvr::GetWavelength(), WsfComponent::Initialize(), ok, and WsfEM_Xmtr::SetPulseRepetitionInterval().
Referenced by WsfLASER_CommXmtrComponent::Initialize().
|
delete |
References WsfLASER_XmtrComponent().
|
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 WsfComponent::ProcessInput().
Referenced by WsfLASER_CommXmtrComponent::ProcessInput().
|
overridevirtual |
Requests a component's role interface. A component can support one or more roles.
| aRole | The role whose interface is to be returned. |
Implements WsfComponent.
References cWSF_COMPONENT_LASER_XMTR.