3 #include <Measurement.h> 6 #include <Trajectory.h> 45 glm::dvec3
const shift = glm::dvec3(0, 0, 0)
48 std::lock_guard<std::mutex> lock(mutex);
54 catch(std::exception &e){
56 ss <<
"SyncFileWriter failed to write measurement. EXCEPTION: \n\t" 58 logging::WARN(ss.str());
77 std::lock_guard<std::mutex> lock(mutex);
83 catch(std::exception &e){
85 ss <<
"SyncFileWriter failed to write trajectory. EXCEPTION: \n\t" 87 logging::WARN(ss.str());
109 std::vector<double>
const &fullwave,
113 glm::dvec3
const & beamOrigin,
114 glm::dvec3
const & beamDir,
118 std::lock_guard<std::mutex> lock(mutex);
132 catch(std::exception &e){
133 std::stringstream ss;
134 ss <<
"SyncFileWriter failed to write fullwave. EXCEPTION: \n\t" 136 logging::WARN(ss.str());
152 std::vector<double>
const &fullwave,
156 glm::dvec3
const & beamOrigin,
157 glm::dvec3
const & beamDir,
SyncFileWriter(const std::string &path)
Instantiate a SyncFileWriter which writes to file at given path.
Definition: SyncFileWriter.h:32
virtual void _write(Measurement const &m, glm::dvec3 const &shift)=0
Abstract write function for Measurement. Must be overridden by children classes.
std::string getPath()
Obtain the path to the file.
Definition: SyncFileWriter.h:175
Class representing a concrete trajectory definition.
Definition: Trajectory.h:8
void write(Trajectory const &t)
Synchronously write trajectory to file.
Definition: SyncFileWriter.h:75
void write(Measurement const &m, glm::dvec3 const shift=glm::dvec3(0, 0, 0))
Synchronously write Measurement to file.
Definition: SyncFileWriter.h:43
Class representing a measurement.
Definition: Measurement.h:12
std::string path
Path to file to be written.
Definition: SyncFileWriter.h:19
void write(std::vector< double > const &fullwave, int fullwaveIndex, double minTime, double maxTime, glm::dvec3 const &beamOrigin, glm::dvec3 const &beamDir, long gpsTime)
Synchronously write Fullwave to file.
Definition: SyncFileWriter.h:108
std::mutex mutex
Mutex to synchronize concurrent write operations.
Definition: SyncFileWriter.h:23
Abstract class defining common behavior for all synchronous file writers.
Definition: SyncFileWriter.h:14
virtual void finish()
Finish the writing so all writing operations are performed and all buffers are closed.
Definition: SyncFileWriter.h:167