3 #include <Measurement.h>
5 #include <PulseTaskFactory.h>
6 #include <scanner/SimulatedPulse.h>
Factory to make the adequate pulse task depending on the simulation.
Definition: PulseTaskFactory.h:22
Class representing a scanner asset.
Definition: Scanner.h:28
Class defining the scanning pulse process interface.
Definition: ScanningPulseProcess.h:18
bool isCalcEchowidth() const
Obtain the scanner's calc echowidth flag.
Definition: ScanningPulseProcess.cpp:22
ScanningPulseProcess(std::shared_ptr< Scanner > scanner)
Default constructor for scanning pulse process.
Definition: ScanningPulseProcess.cpp:6
std::shared_ptr< std::mutex > & getAllMeasurementsMutex() const
Obtain the scanner's all measurements mutex.
Definition: ScanningPulseProcess.cpp:32
std::shared_ptr< std::mutex > & getCycleMeasurementsMutex() const
Obtain the scanner's cycle measurements mutex.
Definition: ScanningPulseProcess.cpp:42
bool isWriteWaveform() const
Obtain the scanner's write waveform flag.
Definition: ScanningPulseProcess.cpp:18
PulseTaskFactory ptf
The pulse task factory to build pulse tasks.
Definition: ScanningPulseProcess.h:26
virtual void handlePulseComputation(SimulatedPulse const &sp)=0
Handle pulse computation whatever it is single thread based or thread pool based.
std::shared_ptr< std::vector< Measurement > > & getAllMeasurements() const
Obtain the scanner's all measurements vector.
Definition: ScanningPulseProcess.cpp:27
std::shared_ptr< Scanner > scanner
The scanner emitting the pulses.
Definition: ScanningPulseProcess.h:31
std::shared_ptr< Scanner > getScanner() const
Obtain the scanner.
Definition: ScanningPulseProcess.cpp:15
virtual void onSimulationFinished()
Handle behavior of scanning pulse process once simulation has finished.
Definition: ScanningPulseProcess.h:69
virtual void onLegComplete()
Handle behavior of scanning pulse process once current leg has been completed. It is useful mainly wh...
Definition: ScanningPulseProcess.h:59
std::shared_ptr< std::vector< Measurement > > & getCycleMeasurements() const
Obtain the scanner's cycle measurements vector.
Definition: ScanningPulseProcess.cpp:37
Class representing a simulated laser pulse.
Definition: SimulatedPulse.h:10