Helios++
Helios software for LiDAR simulations
AbstractDetector Class Referenceabstract

Base abstract class for detectors. More...

#include <AbstractDetector.h>

Inheritance diagram for AbstractDetector:

Public Member Functions

 AbstractDetector (std::shared_ptr< Scanner > scanner, double accuracy_m, double rangeMin_m, double rangeMax_m=std::numeric_limits< double >::max(), std::shared_ptr< UnivarExprTreeNode< double >> errorDistanceExpr=nullptr)
 Base constructor for abstract detector. More...
 
virtual std::shared_ptr< AbstractDetectorclone ()=0
 
virtual void _clone (std::shared_ptr< AbstractDetector > ad)
 
virtual void shutdown ()
 Shutdown the detector when simulation has finished.
 
virtual void applySettings (std::shared_ptr< ScannerSettings > &settings)
 Apply scanner settings to the detector. More...
 
virtual void onLegComplete ()
 Handle detector behavior when leg has been completed. More...
 
bool isDistanceInRange (double const distance)
 Check whether the given distance is inside detected range or not. More...
 
bool isDistanceNotInRange (double const distance)
 Check whether the given distance is inside detected range or not. More...
 
std::shared_ptr< FMSFacadegetFMS () const
 Obtain the main facade to file management system. More...
 
void setFMS (std::shared_ptr< FMSFacade > fms)
 Set the main facade to file management system that will be used by the detector. More...
 

Public Attributes

std::shared_ptr< Scannerscanner = nullptr
 Scanner which the detector belongs to.
 
std::shared_ptr< PointcloudYielderpcloudYielder = nullptr
 The point cloud yielder which handles point cloud building from measurements.
 
std::shared_ptr< FullWaveformYielderfwfYielder = nullptr
 The full waveform yielder which handles full waveform building from full waveform data.
 
double cfg_device_accuracy_m = 0
 Detector accuracy in meters.
 
double cfg_device_rangeMin_m = 0
 Minimum range for detector in meters.
 
double cfg_device_rangeMax_m
 Maximum range for detector in meters.
 
std::shared_ptr< UnivarExprTreeNode< double > > errorDistanceExpr =nullptr
 

Protected Attributes

std::shared_ptr< FMSFacadefms = nullptr
 Main facade to file management system.
 

Detailed Description

Base abstract class for detectors.

Constructor & Destructor Documentation

◆ AbstractDetector()

AbstractDetector::AbstractDetector ( std::shared_ptr< Scanner scanner,
double  accuracy_m,
double  rangeMin_m,
double  rangeMax_m = std::numeric_limits<double>::max(),
std::shared_ptr< UnivarExprTreeNode< double >>  errorDistanceExpr = nullptr 
)
inline

Base constructor for abstract detector.

See also
AbstractDetector::scanner
AbstractDetector::accuracy_m
AbstractDetector::rangeMin_m

Member Function Documentation

◆ applySettings()

virtual void AbstractDetector::applySettings ( std::shared_ptr< ScannerSettings > &  settings)
inlinevirtual

Apply scanner settings to the detector.

Parameters
settingsSettings to be applied to de detector

Reimplemented in FullWaveformPulseDetector.

◆ getFMS()

std::shared_ptr<FMSFacade> AbstractDetector::getFMS ( ) const
inline

Obtain the main facade to file management system.

Returns
The main facade to file management system

◆ isDistanceInRange()

bool AbstractDetector::isDistanceInRange ( double const  distance)
inline

Check whether the given distance is inside detected range or not.

Parameters
distanceThe distance to be checked (in meters)
Returns
True if given distance is inside detected range, false otherwise

◆ isDistanceNotInRange()

bool AbstractDetector::isDistanceNotInRange ( double const  distance)
inline

Check whether the given distance is inside detected range or not.

Parameters
distanceThe distance to be checked (in meters)
Returns
True if given distance is NOT inside detected range, false otherwise

◆ onLegComplete()

void AbstractDetector::onLegComplete ( )
virtual

Handle detector behavior when leg has been completed.

It mainly forces yielded point cloud to be flushed

◆ setFMS()

void AbstractDetector::setFMS ( std::shared_ptr< FMSFacade fms)

Set the main facade to file management system that will be used by the detector.

Parameters
fmsThe new main facade to file management system for the detector

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