|
| | WsfDefaultHEL (WsfScenario &aScenario) |
| | ~WsfDefaultHEL () override=default |
| WsfDirectedEnergyWeapon::Beam * | Clone () const override |
| | Clone this object.
|
| bool | ProcessInput (UtInput &aInput) override |
| void | Propagate (double aSimTime) override |
| | WsfHighEnergyLaser (WsfScenario &aScenario) |
| | WsfHighEnergyLaser (const WsfHighEnergyLaser &aSrc) |
| WsfHighEnergyLaser & | operator= (const WsfHighEnergyLaser &)=delete |
| | ~WsfHighEnergyLaser () override=default |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | Initialize (WsfDirectedEnergyWeapon *aWeaponPtr) |
| virtual void | OutputConfiguration () const |
| WsfDirectedEnergyWeapon * | GetWeapon () const |
| virtual void | BeginLasing (double aSimTime, size_t aTargetIndex, const std::string &aTargetOffsetName="") |
| void | UpdateLasing (double aSimTime) |
| virtual void | EndLasing (double aSimTime) |
| bool | IsLasing () const |
| | Return whether the weapon is currently lasing.
|
| double | GetIncidenceAngle () const override |
| | Return the incidence angle of the laser on the target.
|
| virtual bool | TargetOccluded () const |
| virtual bool | TestLasing (double aDuration, size_t aTargetIndex, const std::string &aTargetOffset="") |
| virtual bool | TestLasing (double aDuration, const WsfGeoPoint &aSourceLocation, const WsfGeoPoint &aTargetLocation) |
| virtual double | RequiredDurationEnergy (double aEnergy, const WsfGeoPoint &aSourceLocation, const WsfGeoPoint &aTargetLocation) |
| virtual double | RequiredDurationFluence (double aEnergyDensity, const WsfGeoPoint &aSourceLocation, const WsfGeoPoint &aTargetLocation) |
| virtual double | RequiredDurationEnergy (double aEnergy, int aTargetIndex, const std::string &aTargetOffset="") |
| virtual double | RequiredDurationFluence (double aEnergyDensity, size_t aTargetIndex, const std::string &aTargetOffset="") |
| virtual bool | UpdateEngagementGeometry (double aSimTime, size_t aTargetIndex, const std::string &aTargetOffset="", bool aAddJitter=true) |
| double | GetDamageRadius () const |
| double | GetDefaultDamageRadius () const |
| virtual void | SetDamageRadius (double aDamageRadius) |
| virtual void | SetAtmosphericStructure (const std::string &aAtmosphericStructure) |
| double | GetJitter () const |
| | Get the expected value for the jitter of the HEL on target.
|
| void | SetJitter (double aJitter) |
| | Set the expected value for the jitter of the HEL on target.
|
| size_t | GetTargetIndex () const |
| | Get the current target index (valid only while IsLasing is true).
|
| double | GetTargetRange () const |
| | Get the current range to target (only valid while IsLasing is true).
|
| void | SetBeamQuality (double aBeamQuality) |
| | Set the beam quality wrt a perfect Gaussian beam.
|
| virtual double | GetWindowStrehl () const |
| | Get the strehl due to window effects (default is 1.0 [no effect]).
|
| virtual void | SetWindowStrehl (double aWindowStrehl) |
| | Set the window strehl (should be between 0 and 1).
|
| virtual double | GetAeroStrehl () const |
| | Get the aero strehl (strehl from aerooptics; should be between 0 and 1).
|
| virtual void | SetAeroStrehl (double aAeroStrehl) |
| | Set the areo strehl (strehl from aerooptics; should be between 0 and 1).
|
| virtual double | GetSystemStrehl () const |
| | Get the total rms strehl from all sources.
|
| virtual void | SetSystemStrehl (double aSystemStrehl) |
| | Set the total rms system strehl.
|
| virtual double | GetSystemTransmission () const |
| | Get the system transmission, if available (default is 1.0).
|
| WsfSimulation * | GetSimulation () const |
| | Beam () |
| | Beam (const Beam &aSrc) |
| Beam & | operator= (const Beam &)=delete |
| | ~Beam () override=default |
| void | Initialize () |
| | Initialize the beam structure elements to initial values.
|
| double | GetPeakFluence () const |
| | Return the peak fluence (i.e., the peak irradiance on target integrated over time).
|
| void | SetPeakFluence (double aPeakFluence) |
| | Set the peak fluence, in W/m^2.
|
| double | GetEdgeFluence () const |
| void | SetEdgeFluence (double aEdgeFluence) |
| | Set the edge fluence, in W/m^2.
|
| double | GetEdgeRadius () const |
| | Return the edge radius (i.e., the radius at which the edge fluence is calculated).
|
| void | SetEdgeRadius (double aEdgeRadius) |
| | Set the edge radius (i.e., the radius at which the edge fluence is calculated).
|
| double | GetSemiMinorAxis () const |
| | Same as GetEdgeRadius, above.
|
| void | SetSpotRadius (double aRadius) |
| | Set the spot radius, which for an elliptical spot is the same as the semi-minor axis.
|
| double | GetSpotRadius () const |
| | Return the spot radius, which for an elliptical spot is the same as the semi-minor axis.
|
| double | GetSemiMajorAxis () const |
| virtual void | SetIncidenceAngle (double aIncidenceAngle) |
| | Set the incidence angle of the beam on target, with respect to the normal to the target's surface at the spot center.
|
| virtual double | GetWavelength () const |
| | Return the characteristic wavelength of the beam.
|
| unsigned | GetWavelength_nm () const |
| | Return the characteristic wavelength of the beam as a string in nm.
|
| virtual void | SetWavelength (double aWavelength) |
| | Set the characteristic wavelength.
|
| virtual double | GetApertureDiameter () const |
| | Return the diameter of the exit aperture of the beam producing the spot.
|
| virtual void | SetApertureDiameter (double aApertureDiameter) |
| | Set the diameter of the aperture through which the beam exits (m^2).
|
| virtual double | GetInitialPower () const |
| | Return the initial power of the beam before any losses.
|
| virtual void | SetInitialPower (double aInitialPower) |
| | Set initial power of the beam before any losses.
|
| double | GetPeakIrradiance () const |
| | Return the average irradiance.
|
| void | SetPeakIrradiance (double aPeakIrradiance) |
| | Set the peak irradiance (W/m^2).
|
| double | GetAverageIrradiance () const |
| | Return the average irradiance over the beam spot (W/m2).
|
| void | SetAverageIrradiance (double aAverageIrradiance) |
| | Set the average irradiance over the beam spot.
|
| double | GetEdgeIrradiance () const |
| | Return the average irradiance over the beam spot (W/m2).
|
| void | SetEdgeIrradiance (double aEdgeIrradiance) |
| | Set the average irradiance over the beam spot.
|
| virtual double | GetPulseRepetitionFrequency () const |
| | Return the Pulse Repetition Frequency.
|
| virtual void | SetPulseRepetitionFrequency (double aPRF) |
| | Set the pulse repetition frequency.
|
| virtual double | GetPulseWidth () const |
| | Return the Pulse Width.
|
| virtual void | SetPulseWidth (double aPulseWidth) |
| | Set the pulse width (0 == CW).
|
| virtual double | GetEnergyDensity () const |
| double | GetEnergy () const |
| | Return the total energy (i.e., the average irradiance on target integrated over time and area; J).
|
| void | SetEnergy (double aEnergy) |
| | Set the energy deposited during the engagement in the beam spot (J).
|
| double | GetAveragePower () const |
| | Return the average power on target, integrated over the beam spot.
|
| void | SetAveragePower (double aAveragePower) |
| | Set the average power on target, integrated over the beam spot.
|
| void | GetOffsetLocationECS (double aLocationECS[3]) const |
| | Get the beam's offset location in target entity coordinates.
|
| void | SetOffsetLocationECS (const double aLocationECS[3]) |
| | Set the beam's offset location in target entity coordinates.
|
| | WsfObject () |
| | This is the constructor for the WsfObject class.
|
| | ~WsfObject () override |
| | This is the destructor for the WsfObject class.
|
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| | Get the string ID of the 'type' of the object.
|
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| | Assignment operator.
|
| template<typename T> |
| void | Serialize (T &aBuff) |
| | For XIO (de)serialization.
|
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Deafult (core) HEL model. This model is based based the papaer by Gephardt (1976), "High Energy Laser Propagation". It calculates the spot on target based on the following phenomena:
-
Diffraction of the beam around the exit aperture.
-
Extinction losses from atmospheric propagation.
-
Beam Spread due to atmospheric turbulence.
-
Spot jitter.
This model does not yet account for thermal blooming but may eventually use the approximations in Gepahrdt to model it.