Helios++
Helios software for LiDAR simulations
FullWaveform.h
1
#pragma once
2
3
#include <glm/glm.hpp>
4
5
#include <vector>
6
12
class
FullWaveform
{
13
public
:
14
// *** ATTRIBUTES *** //
15
// ******************** //
20
std::vector<double>
fullwave
;
24
int
fullwaveIndex
;
28
double
minTime
;
32
double
maxTime
;
36
glm::dvec3
beamOrigin
;
40
glm::dvec3
beamDir
;
44
double
gpsTime
;
45
46
// *** CONSTRUCTION / DESTRUCTION *** //
47
// ************************************ //
51
FullWaveform
() =
default
;
55
FullWaveform
(
56
std::vector<double>
const
&
fullwave
,
57
int
const
fullwaveIndex
,
58
double
const
minTime
,
59
double
const
maxTime
,
60
glm::dvec3
const
&
beamOrigin
,
61
glm::dvec3
const
&
beamDir
,
62
double
const
gpsTime
63
) :
64
fullwave
(
fullwave
),
65
fullwaveIndex
(
fullwaveIndex
),
66
minTime
(
minTime
),
67
maxTime
(
maxTime
),
68
beamOrigin
(
beamOrigin
),
69
beamDir
(
beamDir
),
70
gpsTime
(
gpsTime
)
71
{}
72
FullWaveform
(
FullWaveform
const
&fw){
73
fullwave
= fw.
fullwave
;
74
fullwaveIndex
= fw.
fullwaveIndex
;
75
minTime
= fw.
minTime
;
76
maxTime
= fw.
maxTime
;
77
beamOrigin
= fw.
beamOrigin
;
78
beamDir
= fw.
beamDir
;
79
gpsTime
= fw.
gpsTime
;
80
}
81
virtual
~
FullWaveform
() =
default
;
82
83
// *** OPERATORS *** //
84
// ******************* //
85
friend
std::ostream & operator << (std::ostream &out,
FullWaveform
&fw){
86
out << fw.
fullwaveIndex
<<
", "
<< fw.
minTime
<<
", "
<< fw.
maxTime
87
<<
", "
<< fw.
beamOrigin
.x <<
", "
<< fw.
beamOrigin
.y <<
", "
88
<< fw.
beamOrigin
.z <<
", "
<< fw.
beamDir
.x <<
", "
<< fw.
beamDir
.y
89
<<
", "
<< fw.
beamDir
.z <<
", "
90
<< fw.
gpsTime
;
91
for
(
double
const
&fwi : fw.
fullwave
) out <<
", "
<< fwi;
92
return
out;
93
}
94
};
FullWaveform
Class representing a full waveform.
Definition:
FullWaveform.h:12
FullWaveform::fullwave
std::vector< double > fullwave
The full wave vector containing the values of the full waveform itself.
Definition:
FullWaveform.h:20
FullWaveform::beamDir
glm::dvec3 beamDir
The director vector of the beam.
Definition:
FullWaveform.h:40
FullWaveform::maxTime
double maxTime
Maximum hit time (nanoseconds)
Definition:
FullWaveform.h:32
FullWaveform::gpsTime
double gpsTime
The GPS time associated to the full wave (nanoseconds)
Definition:
FullWaveform.h:44
FullWaveform::FullWaveform
FullWaveform()=default
Default full waveform constructor.
FullWaveform::fullwaveIndex
int fullwaveIndex
The index for the full wave.
Definition:
FullWaveform.h:24
FullWaveform::FullWaveform
FullWaveform(std::vector< double > const &fullwave, int const fullwaveIndex, double const minTime, double const maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, double const gpsTime)
Built full waveform directly from given attributes.
Definition:
FullWaveform.h:55
FullWaveform::minTime
double minTime
Minimum hit time (nanoseconds)
Definition:
FullWaveform.h:28
FullWaveform::beamOrigin
glm::dvec3 beamOrigin
The coordinates of the beam origin.
Definition:
FullWaveform.h:36
src
scanner
detector
FullWaveform.h
Generated by
1.9.1