3 #include <util/HeliosException.h>
4 #include "AbstractDetector.h"
5 #include "AbstractPulseRunnable.h"
6 #include "FullWaveformPulseDetector.h"
7 #include "RaySceneIntersection.h"
9 #include <noise/RandomnessGenerator.h>
10 #include <scanner/ScanningPulseProcess.h>
30 static const double eps;
37 std::shared_ptr<FullWaveformPulseDetector>
fwDetector =
nullptr;
50 std::shared_ptr<Scanner>
scanner,
82 vector<double>
const &tMinMax,
84 std::map<double, double> &reflections,
85 vector<RaySceneIntersection> &intersects
99 vector<double>
const &tMinMax,
100 int const circleStep,
101 double const circleStep_rad,
103 double const divergenceAngle,
105 std::map<double, double> &reflections,
106 vector<RaySceneIntersection> &intersects
123 std::vector<std::vector<double>>& apMatrix,
127 std::map<double, double> &reflections,
128 vector<RaySceneIntersection> &intersects
137 std::map<double, double> &reflections,
138 double &minHitDist_m,
155 double const minHitDist_m,
156 double const maxHitDist_m,
157 double &minHitTime_ns,
158 double &maxHitTime_ns,
160 double &distanceThreshold,
161 int &peakIntensityIndex,
171 std::map<double, double>
const &reflections,
172 std::vector<double> &fullwave,
173 double const distanceThreshold,
174 double const minHitTime_ns,
175 double const nsPerBin,
176 int const peakIntensityIndex
190 std::vector<Measurement> &pointsMeasurement,
192 std::vector<std::vector<double>>& apMatrix,
193 std::vector<double>
const &fullwave,
194 vector<RaySceneIntersection>
const &intersects,
195 glm::dvec3
const &beamDir,
196 double const nsPerBin,
197 int const numFullwaveBins,
198 int const peakIntensityIndex,
199 double const minHitTime_ns
208 std::vector<double> &fullwave,
209 int const numReturns,
210 std::vector<Measurement> &pointsMeasurement,
211 glm::dvec3
const &beamDir,
212 double const minHitTime_ns,
213 double const maxHitTime_ns,
229 vector<double>
const &tMinMax,
239 vector<double>
const &fullwave
257 std::vector<double> & fullwave,
258 int const fullwaveIndex,
259 double const min_time,
260 double const max_time,
261 glm::dvec3
const &beamOrigin,
262 glm::dvec3
const &beamDir,
263 double const gpstime,
264 bool const fullWaveNoise,
278 "FullWaveformPulseRunnable operator()() must not be used"
292 std::vector<std::vector<double>>& apMatrix,
Base abstract class for pulse runnables.
Definition: AbstractPulseRunnable.h:18
std::shared_ptr< Scanner > scanner
Scanner used to simulate the pulse.
Definition: AbstractPulseRunnable.h:25
SimulatedPulse pulse
The definition of the pulse to be simulated.
Definition: AbstractPulseRunnable.h:33
Base class for Helios exceptions.
Definition: HeliosException.h:12
Definition: Rotation.h:80
Class representing a simulated laser pulse.
Definition: SimulatedPulse.h:10