Class representing a single scanner. It is, a scanner that can only emit one pulse per time instant.
More...
|
| SingleScanner (double const beamDiv_rad, glm::dvec3 const beamOrigin, Rotation const beamOrientation, std::list< int > const &pulseFreqs, double const pulseLength_ns, std::string const id, double const averagePower, double const beamQuality, double const efficiency, double const receiverDiameter, double const atmosphericVisibility, int const wavelength, bool const writeWaveform=false, bool const calcEchowidth=false, bool const fullWaveNoise=false, bool const platformNoiseDisabled=false) |
| SingleScanner constructor from given values. More...
|
|
| SingleScanner (SingleScanner &scanner) |
| Copy constructor for the SingleScanner. More...
|
|
std::shared_ptr< Scanner > | clone () override |
|
void | _clone (Scanner &sc) const override |
|
void | onLegComplete () override |
| Extend Scanner::onLegComplete behavior by handling onLegComplete events for the case of a single detector. More...
|
|
void | applySettings (std::shared_ptr< ScannerSettings > settings, size_t const idx) override |
|
void | doSimStep (unsigned int legIndex, double const currentGpsTime) override |
|
void | calcRaysNumber (size_t const idx) override |
|
void | prepareDiscretization (size_t const idx) override |
|
double | calcFootprintArea (double const distance, size_t const idx) const override |
|
double | calcTargetArea (double const distance, size_t const idx) const override |
|
Rotation | calcAbsoluteBeamAttitude (size_t const idx) override |
|
double | calcAtmosphericAttenuation (size_t const idx) const override |
|
bool | checkMaxNOR (int const nor, size_t const idx) override |
|
void | computeSubrays (std::function< void(vector< double > const &_tMinMax, int const circleStep, double const circleStep_rad, Rotation &r1, double const divergenceAngle, NoiseSource< double > &intersectionHandlingNoiseSource, std::map< double, double > &reflections, vector< RaySceneIntersection > &intersects)> handleSubray, vector< double > const &tMinMax, NoiseSource< double > &intersectionHandlingNoiseSource, std::map< double, double > &reflections, vector< RaySceneIntersection > &intersects, size_t const idx) override |
|
bool | initializeFullWaveform (double const minHitDist_m, double const maxHitDist_m, double &minHitTime_ns, double &maxHitTime_ns, double &nsPerBin, double &distanceThreshold, int &peakIntensityIndex, int &numFullwaveBins, size_t const idx) override |
|
double | calcIntensity (double const incidenceAngle, double const targetRange, double const targetReflectivity, double const targetSpecularity, double const targetSpecularExponent, double const targetArea, double const radius, size_t const idx) const override |
|
double | calcIntensity (double const targetRange, double const radius, double const sigma, size_t const idx) const override |
|
void | setDeviceIndex (size_t const newIdx, size_t const oldIdx) override |
|
std::string | getDeviceId (size_t const idx) const override |
|
void | setDeviceId (std::string const deviceId, size_t const idx) override |
|
size_t | getNumDevices () const override |
|
int | getNumRays (size_t const idx) const override |
|
void | setNumRays (int const numRays, size_t const idx) |
|
double | getPulseLength_ns (size_t const idx) const override |
|
void | setPulseLength_ns (double const pulseLength_ns, size_t const idx) override |
|
double | getBeamDivergence (size_t const idx) const override |
|
void | setBeamDivergence (double const beamDivergence, size_t const idx) override |
|
double | getAveragePower (size_t const idx) const override |
|
void | setAveragePower (double const averagePower, size_t const idx) override |
|
double | getBeamQuality (size_t const idx) const override |
|
void | setBeamQuality (double const beamQuality, size_t const idx) override |
|
double | getEfficiency (size_t const idx) const override |
|
void | setEfficiency (double const efficiency, size_t const idx) override |
|
double | getReceiverDiameter (size_t const idx) const override |
|
void | setReceiverDiameter (double const receiverDiameter, size_t const idx) override |
|
double | getVisibility (size_t const idx) const override |
|
void | setVisibility (double const visibility, size_t const idx) override |
|
double | getWavelength (size_t const idx) const override |
|
void | setWavelength (double const wavelength, size_t const idx) override |
|
double | getAtmosphericExtinction (size_t const idx) const override |
|
void | setAtmosphericExtinction (double const atmosphericExtinction, size_t const idx) override |
|
double | getBeamWaistRadius (size_t const idx) const override |
|
void | setBeamWaistRadius (double const beamWaistRadius, size_t const idx) override |
|
glm::dvec3 | getHeadRelativeEmitterPosition (size_t const idx) const override |
|
void | setHeadRelativeEmitterPosition (glm::dvec3 const &pos, size_t const idx) override |
|
glm::dvec3 & | getHeadRelativeEmitterPositionByRef (size_t const idx=0) override |
|
Rotation | getHeadRelativeEmitterAttitude (size_t const idx) const override |
|
void | setHeadRelativeEmitterAttitude (Rotation const &attitude, size_t const idx) override |
|
Rotation & | getHeadRelativeEmitterAttitudeByRef (size_t const idx=0) override |
|
double | getBt2 (size_t const idx) const override |
|
void | setBt2 (double const bt2, size_t const idx) override |
|
double | getDr2 (size_t const idx) const override |
|
void | setDr2 (double const dr2, size_t const idx) override |
|
std::shared_ptr< ScannerHead > | getScannerHead (size_t const idx) override |
|
void | setScannerHead (std::shared_ptr< ScannerHead > scannerHead, size_t const idx) override |
|
std::shared_ptr< AbstractBeamDeflector > | getBeamDeflector (size_t const idx) override |
|
void | setBeamDeflector (std::shared_ptr< AbstractBeamDeflector > beamDeflector, size_t const idx) override |
|
std::shared_ptr< AbstractDetector > | getDetector (size_t const idx) override |
|
void | setDetector (std::shared_ptr< AbstractDetector > detector, size_t const idx) override |
|
FWFSettings & | getFWFSettings (size_t const idx) |
|
void | setFWFSettings (FWFSettings const &fwfSettings, size_t const idx) override |
|
std::list< int > & | getSupportedPulseFreqs_Hz (size_t const idx) override |
|
void | setSupportedPulseFreqs_Hz (std::list< int > &pulseFreqs_Hz, size_t const idx) |
|
int | getMaxNOR (size_t const idx) const override |
|
void | setMaxNOR (int const maxNOR, size_t const idx) override |
|
int | getNumTimeBins (size_t const idx) const |
|
void | setNumTimeBins (int const numTimeBins, size_t const idx) |
|
int | getPeakIntensityIndex (size_t const idx) const override |
|
void | setPeakIntensityIndex (int const pii, size_t const idx) override |
|
std::vector< double > & | getTimeWave (size_t const idx) override |
|
void | setTimeWave (std::vector< double > &timewave, size_t const idx) |
|
void | setTimeWave (std::vector< double > &&timewave, size_t const idx) override |
|
int | getCurrentPulseNumber (size_t const idx) const override |
|
bool | lastPulseWasHit (size_t const idx) const override |
|
void | setLastPulseWasHit (bool const lastPulseWasHit, size_t const idx) override |
|
| Scanner (std::string const id, std::list< int > const &pulseFreqs, bool const writeWaveform=false, bool const calcEchowidth=false, bool const fullWaveNoise=false, bool const platformNoiseDisabled=false) |
| Scanner constructor. More...
|
|
| Scanner (Scanner &scanner) |
| Copy constructor for the Scanner. More...
|
|
void | initializeSequentialGenerators () |
| Initialize randomness generators and noise sources that are necessary for sequential pulse computations.
|
|
void | buildScanningPulseProcess (int const parallelizationStrategy, PulseTaskDropper &dropper, std::shared_ptr< PulseThreadPoolInterface > pool) |
| Build the scanning pulse process to be used by the scanner during simulation. More...
|
|
void | applySettings (std::shared_ptr< ScannerSettings > settings) |
| Non index version of the Scanner::applySettings(std::shared_ptr<ScannerSettings>) method. More...
|
|
virtual std::shared_ptr< ScannerSettings > | retrieveCurrentSettings (size_t const idx) |
| Retrieve current scanner settings and build a new ScannerSettings object with them. More...
|
|
std::shared_ptr< ScannerSettings > | retrieveCurrentSettings () |
| Non index version of the Scanner::retrieveCurrentSettings(size_t const) method. More...
|
|
virtual void | applySettingsFWF (FWFSettings settings, size_t const idx) |
| Apply full wave form settings. More...
|
|
void | applySettingsFWF (FWFSettings settings) |
| Non index version of the Scanner::applySettingsFWF(FWFSettings, size_t const) method. More...
|
|
std::string | toString () |
| Build a string representation of the scanner. More...
|
|
void | calcRaysNumber () |
| Non index version of the Scanner::calcRaysNumber(size_t const) method. More...
|
|
void | prepareDiscretization () |
| Non index version of the Scanner::prepareDiscretization method. More...
|
|
double | calcFootprintArea (double const distance) const |
| Non index version of the Scanner::calcFootprintArea(double const, size_t const) method. More...
|
|
double | calcFootprintRadius (double const distance, size_t const idx) |
| Compute the footprint radius \(f_{r}\). More...
|
|
double | calcFootprintRadius (double const distance) |
| Non index version of the Scanner::calcFootprintRadius(double const, size_t const) method. More...
|
|
double | calcTargetArea (double const distance) const |
| Non index version of the Scanner::calcTargetArea(double const, size_t const) method. More...
|
|
double | calcAtmosphericAttenuation () const |
| Non index version of Scanner::calcAtmosphericAttenuation. More...
|
|
Rotation | calcAbsoluteBeamAttitude () |
| Non index version of the Scanner::calcAbsoluteBeamAttitude function. More...
|
|
bool | checkMaxNOR (int const nor) |
| Non index version of Scanner::checkMaxNOR(int const, size_t const) method. More...
|
|
void | handleSimStepNoise (glm::dvec3 &absoluteBeamOrigin, Rotation &absoluteBeamAttitude) |
| Handle position and attitude noise. More...
|
|
void | onSimulationFinished () |
| Exposes ScanningPulseProcess::onSimulationFinished method of the scanning pulse process defining this scanner.
|
|
void | handleTrajectoryOutput (double const currentGpsTime) |
| Handle trajectory output whatever it is to output file, to all trajectories vector or to cycle trajectories vector. More...
|
|
void | trackOutputPath (std::string const &path) |
| Track given output path in a thread safe way. More...
|
|
int | getCurrentPulseNumber () const |
| Non index version of the Scanner::getCurrentPulseNumber method. More...
|
|
int | getNumRays () const |
| Non index version of the Scanner::getNumRays(size_t const) method. More...
|
|
void | setNumRays (int const numRays) |
| Non index version of the Scanner::setNumRays(int const, size_t const) method. More...
|
|
int | getPulseFreq_Hz () const |
| Obtain the pulse frequency. More...
|
|
void | setPulseFreq_Hz (int const pulseFreq_Hz) |
| Set the pulse frequency. More...
|
|
double | getPulseLength_ns () const |
| No index argument version of the Scanner::getPulseLength_ns method. More...
|
|
void | setPulseLength_ns (double const pulseLength_ns) |
| No index argument version of the Scanner::setPulseLength_ns method. More...
|
|
bool | lastPulseWasHit () const |
| Non index version of the Scanner::lastPulseWasHit method. More...
|
|
void | setLastPulseWasHit (bool const lastPulseWasHit) |
| Non index version of the Scanner::setLastPulseWasHit method. More...
|
|
double | getBeamDivergence () const |
| No index argument version of the Scanner::getBeamDivergence method. More...
|
|
void | setBeamDivergence (double const beamDivergence) |
| No index argument version of the Scanner::setBeamDivergence method. More...
|
|
double | getAveragePower () const |
| No index argument version of the Scanner::getAveragePower method. More...
|
|
void | setAveragePower (double const averagePower) |
| No index argument version of the Scanner::setAveragePower method. More...
|
|
double | getBeamQuality () const |
| No index argument version of the Scanner::getBeamQuality method. More...
|
|
void | setBeamQuality (double const beamQuality) |
| No index argument version of the Scanner::setBeamQuality method. More...
|
|
double | getEfficiency () const |
| No index argument version of the Scanner::getEfficiency method. More...
|
|
void | setEfficiency (double const efficiency) |
| No index argument version of the Scanner::setEfficiency method. More...
|
|
double | getReceiverDiameter () const |
| No index argument version of the Scanner::getReceiverDiameter. More...
|
|
void | setReceiverDiameter (double const receiverDiameter) |
| No index argument version of the Scanner::setReceiverDiameter method. More...
|
|
double | getVisibility () const |
| No index argument version of the Scanner::getVisibility method. More...
|
|
void | setVisibility (double const visibility) |
| No index argument version of the Scanner::setVisibility method. More...
|
|
double | getWavelength () const |
| No index argument version of the Scanner::getWavelength method. More...
|
|
void | setWavelength (double const wavelength) |
| No index argument version of the Scanner::setWavelength method. More...
|
|
double | getAtmosphericExtinction () const |
| No index argument version of the Scanner::getAtmosphericExtinction method. More...
|
|
void | setAtmosphericExtinction (double const atmosphericExtinction) |
| No index argument version of the Scanner::setAtmosphericExtinction method. More...
|
|
double | getBeamWaistRadius () const |
| No index argument version of the Scanner::getBeamWaistRadius method. More...
|
|
void | setBeamWaistRadius (double const beamWaistRadius) |
| No index argument version of the Scanner::setBeamWaistRadius method. More...
|
|
double | getBt2 () const |
| No index argument version of the Scanner::getBt2 method. More...
|
|
void | setBt2 (double const bt2) |
| No index argument version of the Scanner::setBt2 method @Scanner::setBt2(double const, size_t const)
|
|
double | getDr2 () const |
| No index argument version of the Scanner::getDr2 method. More...
|
|
void | setDr2 (double const dr2) |
| No index argument version of the Scanner::setDr2 method @Scanner::setDr2(double const, size_t const)
|
|
bool | isActive () const |
| Check if scanner is active (true) or not (false) More...
|
|
void | setActive (bool const active) |
| Set scanner active status. True to make it active, false to make it inactive. More...
|
|
bool | isWriteWaveform () const |
| Check if scanner is configured to write wave form (true) or not (false) More...
|
|
void | setWriteWaveform (bool const writeWaveform) |
| Set scanner write wave form configuration. More...
|
|
bool | isCalcEchowidth () const |
| Check if scanner is configured to compute echo width (true) or not (false) More...
|
|
void | setCalcEchowidth (bool const calcEchowidth) |
| Set scanner echo width configuration. More...
|
|
bool | isFullWaveNoise () const |
| Check if scanner is configured to add noise to full wave (true) or not (false) More...
|
|
void | setFullWaveNoise (bool const fullWaveNoise) |
| Set scanner full wave noise policy. More...
|
|
bool | isPlatformNoiseDisabled () |
| Check if platform noise is disabled (true) or not (false) More...
|
|
void | setPlatformNoiseDisabled (bool const platformNoiseDisabled) |
| Set platform noise disabled flag. More...
|
|
bool | isFixedIncidenceAngle () const |
| Check if incidence angle is fixed (true) or not (false) More...
|
|
void | setFixedIncidenceAngle (bool const fixedIncidenceAngle) |
| Set fixed incidence angle flag. More...
|
|
std::string | getScannerId () const |
| Obtain the identifier of the scanner. More...
|
|
void | setScannerId (std::string const &id) |
| Set the identifier of the scanner. More...
|
|
std::string | getDeviceId () const |
| No index argument version of the Scanner::getDeviceId method. More...
|
|
void | setDeviceId (std::string const deviceId) |
| No index argument version of the Scanner::setDeviceId method. More...
|
|
std::shared_ptr< ScannerHead > | getScannerHead () |
| Non index version of the Scanner::getScannerHead(size_t const) method. More...
|
|
void | setScannerHead (std::shared_ptr< ScannerHead > scannerHead) |
| Non index version of the Scanner::setScannerHead method. More...
|
|
std::shared_ptr< AbstractBeamDeflector > | getBeamDeflector () |
| Non index version of the Scanner::getBeamDeflector(size_t const) method. More...
|
|
void | setBeamDeflector (std::shared_ptr< AbstractBeamDeflector > deflector) |
| Non index version of the Scanner::setBeamDeflector method. More...
|
|
std::shared_ptr< AbstractDetector > | getDetector () |
| Non index version of the Scanner::getDetector(size_t const) method. More...
|
|
void | setDetector (std::shared_ptr< AbstractDetector > detector) |
| Non index version of the Scanner::setDetector method. More...
|
|
void | setAllDetectors (std::shared_ptr< AbstractDetector > detector) |
| Set the detector of each scanning device to the given one. More...
|
|
FWFSettings & | getFWFSettings () |
| Non index version of the Scanner::getFWFSettings(size_t const) More...
|
|
void | setFWFSettings (FWFSettings const &fwfSettings) |
| Non index version of the Scanner::setFWFSettings(FWFSettings &, size_t const) method. More...
|
|
std::list< int > & | getSupportedPulseFreqs_Hz () |
| Non index version of the Scanner::getSupportedPulseFreqs_Hz(size_t const) method. More...
|
|
void | setSupportedPulseFreqs_Hz (std::list< int > &pulseFreqs_Hz) |
| Non index version of the Scanner::setSupportedPulseFreqs_Hz(std::list<int> &, size_t const) More...
|
|
int | getMaxNOR () const |
| Non index version of Scanner::getMaxNOR(size_t const) More...
|
|
void | setMaxNOR (int const maxNOR) |
| Non index version of Scanner::setMaxNOR(int const, size_t const) More...
|
|
int | getNumTimeBins () const |
| Non index version of the Scanner::getNumTimeBins(size_t const) method. More...
|
|
void | setNumTimeBins (int const numTimeBins) |
| Non index version of the Scanner::setNumTimeBins(int const, size_t const) method. More...
|
|
int | getPeakIntensityIndex () const |
| Non index version of the Scanner::getPeakIntensityIndex(size_t const) method. More...
|
|
void | setPeakIntensityIndex (int const pii) |
| Non index version of the Scanner::setPeakIntensityIndex(int const, size_t const) method. More...
|
|
std::vector< double > & | getTimeWave () |
| Non index version of the Scanner::getTimeWave(size_t const) method. More...
|
|
void | setTimeWave (std::vector< double > &timewave) |
| Non index version of the Scanner::setTimeWave(std::vector<double> &, size_t const) method. More...
|
|
void | setTimeWave (std::vector< double > &&timewave) |
| Non index version of the Scanner::setTimeWave(std::vector<double> &&, size_t const) method. More...
|
|
std::string | getLocationString () |
| Obtain asset location string. More...
|
|
virtual bool | isEgg () const |
| Check whether the asset is an EggAsset or not. More...
|
|