Helios++
Helios software for LiDAR simulations
RisleyBeamDeflector.h
1 #pragma once
2 
3 #include "AbstractBeamDeflector.h"
4 
5 #include "MathConverter.h"
6 
11 
12 public:
13  // *** ATTRIBUTES *** //
14  // ******************** //
15 
16  double deltaT = 0;
17  double pulseFreq = 0;
18  double time = 0;
19 
23  double scanAngle = 0;
24  double rotorSpeed_rad_1 = 0;
25  double rotorSpeed_rad_2 = 0;
26 
27  // *** CONSTRUCTION / DESTRUCTION *** //
28  // ************************************ //
36  double scanAngleMax_rad,
37  double rotorFreq_Hz_1,
38  double rotorFreq_Hz_2
39  ) :
41  scanAngleMax_rad,
42  0,
43  0
44  )
45  {
46  this->scanAngle = scanAngleMax_rad;
47  this->rotorSpeed_rad_1 = rotorFreq_Hz_1 * 0.5 / M_PI;
48  this->rotorSpeed_rad_2 = rotorFreq_Hz_2 * 0.5 / M_PI;
49  }
50  std::shared_ptr<AbstractBeamDeflector> clone() override;
51  void _clone(std::shared_ptr<AbstractBeamDeflector> abd) override;
52 
53  // *** M E T H O D S *** //
54  // *********************** //
58  void applySettings(std::shared_ptr<ScannerSettings> settings) override;
62  void doSimStep() override;
63 
64  // *** GETTERS and SETTERS *** //
65  // ***************************** //
69  void setScanAngle_rad(double scanAngle_rad) override;
73  void setScanFreq_Hz(double scanFreq_Hz) override;
74 
75 };
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
Class representing a risley prisms beam deflector.
Definition: RisleyBeamDeflector.h:10
double scanAngle
Scan Angle (defined as the half angle)
Definition: RisleyBeamDeflector.h:23
void setScanFreq_Hz(double scanFreq_Hz) override
Definition: RisleyBeamDeflector.cpp:85
void doSimStep() override
Definition: RisleyBeamDeflector.cpp:47
RisleyBeamDeflector(double scanAngleMax_rad, double rotorFreq_Hz_1, double rotorFreq_Hz_2)
Constructor for risley prisms beam deflector.
Definition: RisleyBeamDeflector.h:35
void applySettings(std::shared_ptr< ScannerSettings > settings) override
Definition: RisleyBeamDeflector.cpp:40
void setScanAngle_rad(double scanAngle_rad) override
Definition: RisleyBeamDeflector.cpp:64