Helios++
Helios software for LiDAR simulations
WaveMaths Class Referenceabstract

Some common mathematical operatiosn concerning the full waveform. More...

#include <WaveMaths.h>

Static Public Member Functions

static int calcPropagationTimeLegacy (std::vector< double > &timeWave, int const numBins, double const binSize, double const pulseLength, double const pulseLengthDivisor)
 Compute propagation time, thus obtaining the intensity peak index and populating the time wave vector adequately. More...
 

Detailed Description

Some common mathematical operatiosn concerning the full waveform.

Author
Alberto M. Esmoris Pena
Version
1.0

Member Function Documentation

◆ calcPropagationTimeLegacy()

int WaveMaths::calcPropagationTimeLegacy ( std::vector< double > &  timeWave,
int const  numBins,
double const  binSize,
double const  pulseLength,
double const  pulseLengthDivisor 
)
static

Compute propagation time, thus obtaining the intensity peak index and populating the time wave vector adequately.

The legacy algorithm for the estimation of propagation time can be described as forward iterating in the integer interval \([0, n)\) such that at each \(i\)-th step the \(i\)-th bin of the discrete time vector \(w_i\) is populated, where \(h\) is the bin size, \(t_i = ih\), and \(\tau = \lambda / d\) with \(\lambda\) being the pulse length in nanoseconds and \(d\) a user given divisor:

\[ \begin{split} w_i =& \frac{(ih)^2}{\tau^2} \exp{-\frac{ih}{\tau}} \\ =& \frac{t_i^2}{\tau^2} \exp{-\frac{t_i}{\tau}} \end{split} \]

The peak intensity index is simply obtained by taking the \(i\)-th index of the greatest \(w_i\).

Parameters
timeWaveThe time discretization vector
numBinsThe number of bins for time discretization
binSizeThe size of each bin (in nanoseconds)
pulseLengthThe pulse length (in nanoseconds)
pulseLengthDivisorThe number dividing the pulse length
Returns
The index of the intensity peak in the discrete time vector
See also
ScanningDevice::numTimeBins
ScanningDevice::time_wave
ScanningDevice::peakIntensityIndex

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