3 #include "AbstractBeamDeflector.h" 96 double scanAngleMax_rad,
97 double scanFreqMax_Hz,
98 double scanFreqMin_Hz,
106 this->cfg_device_scanProduct = scanProduct;
108 std::shared_ptr<AbstractBeamDeflector> clone()
override;
109 void _clone(std::shared_ptr<AbstractBeamDeflector> abd)
override;
116 void applySettings(std::shared_ptr<ScannerSettings> settings)
override;
Base abstract class for beam deflectors.
Definition: AbstractBeamDeflector.h:10
double cached_offsetScaleFactor
Offset scale factor used to speed-up turning velocity offset computations. cached_offsetScaleFactor =...
Definition: OscillatingMirrorBeamDeflector.h:85
void setScanFreq_Hz(double scanFreq_Hz) override
Definition: OscillatingMirrorBeamDeflector.cpp:146
int cached_pulsesPerScanline
Pulses per scan line.
Definition: OscillatingMirrorBeamDeflector.h:40
int cached_bHalfThresholdPulse
The ending point for second turning around stage on top peak.
Definition: OscillatingMirrorBeamDeflector.h:68
void doSimStep() override
Definition: OscillatingMirrorBeamDeflector.cpp:63
OscillatingMirrorBeamDeflector(double scanAngleMax_rad, double scanFreqMax_Hz, double scanFreqMin_Hz, int scanProduct)
Constructor for oscillating mirror beam deflector.
Definition: OscillatingMirrorBeamDeflector.h:95
double cfg_device_turningPulsesf
Decimal encoding of cfg_device_turningPulses.
Definition: OscillatingMirrorBeamDeflector.h:33
double computeTurningVelocityOffset()
Compute the turning velocity offset.
Definition: OscillatingMirrorBeamDeflector.cpp:90
void applySettings(std::shared_ptr< ScannerSettings > settings) override
Definition: OscillatingMirrorBeamDeflector.cpp:44
int cached_aHalfThresholdPulse
The starting point for first turning around stage on top peak.
Definition: OscillatingMirrorBeamDeflector.h:56
double cached_halfTurningPulses
Half of the turning pulses, because they are required to compute turning velocity offset...
Definition: OscillatingMirrorBeamDeflector.h:75
void setScanAngle_rad(double scanAngle_rad) override
Definition: OscillatingMirrorBeamDeflector.cpp:127
int cfg_device_turningPulses
How many pulses are required for the turning around.
Definition: OscillatingMirrorBeamDeflector.h:28
int cached_halfThresholdPulse
The starting point for second turning around stage on top peak.
Definition: OscillatingMirrorBeamDeflector.h:62
int cfg_device_scanProduct
Scan product to limit maximum scan angle and the scanning frequency.
Definition: OscillatingMirrorBeamDeflector.h:17
int cached_thresholdPulse
At which pulse step the turning around must be computed. cached_threshold_pulse = cached_pulsesPerSca...
Definition: OscillatingMirrorBeamDeflector.h:49
int currentScanLinePulse
Current scan line pulse.
Definition: OscillatingMirrorBeamDeflector.h:21
Class representing an oscillating mirror beam deflector.
Definition: OscillatingMirrorBeamDeflector.h:8