Helios++
Helios software for LiDAR simulations
PolygonMirrorBeamDeflector.h
1 #pragma once
2 
3 #include "AbstractBeamDeflector.h"
4 
9 
10 protected:
11  // *** ATTRIBUTES *** //
12  // ******************** //
21 
22 public:
23  // *** CONSTRUCTION / DESTRUCTION *** //
24  // ************************************* //
32  double _scanFreqMax_Hz,
33  double _scanFreqMin_Hz,
34  double _scanAngleMax_rad,
35  double _scanAngleEffectiveMax_rad
36  ):
37  AbstractBeamDeflector(_scanAngleMax_rad, _scanFreqMax_Hz, _scanFreqMin_Hz)
38 {
39  this->cfg_device_scanAngleEffectiveMax_rad = _scanAngleEffectiveMax_rad;
40  this->cfg_device_scanAngleEffective_rad = _scanAngleEffectiveMax_rad;
41 }
42  std::shared_ptr<AbstractBeamDeflector> clone() override;
43  void _clone(std::shared_ptr<AbstractBeamDeflector> abd) override;
44 
45  // *** M E T H O D S *** //
46  // *********************** //
50  void applySettings(std::shared_ptr<ScannerSettings>) override;
54  void doSimStep() override;
58  bool lastPulseLeftDevice() override;
65 };
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
Class representing a polygon mirror beam deflector.
Definition: PolygonMirrorBeamDeflector.h:8
void doSimStep() override
Definition: PolygonMirrorBeamDeflector.cpp:89
double getScanAngleEffectiveMax_rad() const
Obtain the maximum effective scan angle in radians.
Definition: PolygonMirrorBeamDeflector.h:63
bool lastPulseLeftDevice() override
Definition: PolygonMirrorBeamDeflector.cpp:104
PolygonMirrorBeamDeflector(double _scanFreqMax_Hz, double _scanFreqMin_Hz, double _scanAngleMax_rad, double _scanAngleEffectiveMax_rad)
Constructor for polygon mirror beam deflector.
Definition: PolygonMirrorBeamDeflector.h:31
void applySettings(std::shared_ptr< ScannerSettings >) override
Definition: PolygonMirrorBeamDeflector.cpp:40
double cfg_device_scanAngleEffectiveMax_rad
Maximum effective scan angle (radians)
Definition: PolygonMirrorBeamDeflector.h:20
double cfg_device_scanAngleEffective_rad
Effective scan angle (radians)
Definition: PolygonMirrorBeamDeflector.h:16