Helios++
Helios software for LiDAR simulations
FiberArrayBeamDeflector Class Reference

Class representing a fiber array beam deflector. More...

#include <FiberArrayBeamDeflector.h>

Inheritance diagram for FiberArrayBeamDeflector:
Collaboration diagram for FiberArrayBeamDeflector:

Public Member Functions

 FiberArrayBeamDeflector (double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz, int numFibers)
 Constructor for fiber array beam deflector. More...
 
std::shared_ptr< AbstractBeamDeflectorclone ()
 
void _clone (std::shared_ptr< AbstractBeamDeflector > abd)
 
void applySettings (std::shared_ptr< ScannerSettings > settings) override
 
void doSimStep () override
 
void setNumFibers (int const numFibers)
 Set the number of fibers. More...
 
int getNumFibers () const
 Obtain the number of fibers. More...
 
- Public Member Functions inherited from AbstractBeamDeflector
 AbstractBeamDeflector (double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz)
 Base constructor for beam deflectors. More...
 
virtual bool lastPulseLeftDevice ()
 Check if last pulse left device (true) or not (false) More...
 
virtual void restartDeflector ()
 Restart the deflector. This method is meant to be invoked whenever the deflector needs to be restarted. Which generally occurs when the previous leg was inactive.
 
Rotation getEmitterRelativeAttitude ()
 Get the relative emitter attitude. More...
 
RotationgetEmitterRelativeAttitudeByReference ()
 Get the relative emitter attitude by referencce. More...
 
virtual void setScanAngle_rad (double scanAngle_rad)
 Set the scan angle. More...
 
virtual void setScanFreq_Hz (double scanFreq_hz)
 Set the scanning frequency. More...
 

Private Attributes

int cfg_device_numFibers = 32
 Number of fibers composing the deflector.
 
int state_currentFiber = 0
 Index of current fiber.
 

Additional Inherited Members

- Public Attributes inherited from AbstractBeamDeflector
double cfg_device_scanFreqMax_Hz = 0
 Minimum scanning frequency (hertz)
 
double cfg_device_scanFreqMin_Hz = 0
 Maximum scanning frequency (hertz)
 
double cfg_device_scanAngleMax_rad = 0
 Maximum scanning angle (radians)
 
double cfg_setting_scanFreq_Hz = 0
 Scanning frequency (hertz)
 
double cfg_setting_scanAngle_rad = 0
 Scanning angle (radians)
 
double cfg_setting_verticalAngleMin_rad = 0
 Minimum vertical scanning angle (radians)
 
double cfg_setting_verticalAngleMax_rad = 0
 Maximum vertical scanning angle (radians)
 
double state_currentBeamAngle_rad = 0
 Current beam angle (radians)
 
double state_angleDiff_rad = 0
 Angle differential (radians)
 
double cached_angleBetweenPulses_rad
 Angle between pulses (radians)
 
Rotation cached_emitterRelativeAttitude = Rotation(glm::dvec3(1, 0, 0), 0)
 Relative emitter attitude.
 

Detailed Description

Class representing a fiber array beam deflector.

Constructor & Destructor Documentation

◆ FiberArrayBeamDeflector()

FiberArrayBeamDeflector::FiberArrayBeamDeflector ( double  scanAngleMax_rad,
double  scanFreqMax_Hz,
double  scanFreqMin_Hz,
int  numFibers 
)
inline

Constructor for fiber array beam deflector.

Parameters
numFibersNumber of fibers composing the deflector
See also
AbstractBeamDeflector::AbstractBeamDeflector( double, double, double)

Member Function Documentation

◆ applySettings()

void FiberArrayBeamDeflector::applySettings ( std::shared_ptr< ScannerSettings settings)
overridevirtual

◆ doSimStep()

void FiberArrayBeamDeflector::doSimStep ( )
overridevirtual

◆ getNumFibers()

int FiberArrayBeamDeflector::getNumFibers ( ) const
inline

Obtain the number of fibers.

Returns
The number of fibers

◆ setNumFibers()

void FiberArrayBeamDeflector::setNumFibers ( int const  numFibers)

Set the number of fibers.

Parameters
numFibersNew number of fibers

The documentation for this class was generated from the following files: