Documentation/ExampleApplications/RdAirplaneApplication/analysisTools/offline/shared/RdAirplaneDataWriter/inc/DataWriter.h
Go to the documentation of this file.
1 /*
2  * DataWriter.h
3  *
4  * Created on: Jul 24, 2015
5  * Author: leven
6  */
7 
8 #ifndef DATAWRITER_H_
9 #define DATAWRITER_H_
10 
11 #include "boost/filesystem.hpp"
12 
13 #include "evt/Event.h"
14 #include "evt/ShowerRecData.h"
15 #include "evt/ShowerRRecData.h"
16 
17 #include "revt/Station.h"
18 #include "revt/REvent.h"
19 #include "revt/Header.h"
20 #include "revt/StationRecData.h"
21 
22 #include "rdet/Station.h"
23 
24 #include "utl/UTMPoint.h"
25 #include "utl/Point.h"
26 #include "utl/UTCDateTime.h"
27 #include "utl/CoordinateSystem.h"
28 #include "fwk/LocalCoordinateSystem.h"
29 
30 #include "Flight.h"
31 #include "Airplane.h"
32 
33 #include "Macros_Convenience.h"
34 
35 #include <string>
36 #include <map>
37 #include <list>
38 
39 namespace RdAirplane {
40 class StationInfo;
41 class PulseInfoWriter;
42 
43 class DataWriter {
44 public:
45  static const char* stationInfosFileName;
46  static const char* generalInfoFileName;
47  typedef std::map<unsigned int, const StationInfo*> StationMap;
48  DataWriter(std::string pOutputDirectory, utl::CoordinateSystemPtr pCoordinateSystem);
49  virtual ~DataWriter();
50  const StationInfo* registerStationInfo(const rdet::Station& pStation);
52 
54  evt::Event& pEvent,
55  const Flight& pFlight,
56  const utl::Point& pReconstructedRadioEventOrigin,
57  utl::CoordinateSystemPtr pCoreCoordinateSystem);
58 
59 private:
61  boost::filesystem::path _outputDirectory_;
64  std::string _createOutputFolder() const;
65  boost::filesystem::path _createOutputFolderForEvent(const std::string& pEventId) const;
66  std::list<PulseInfoWriter*> _pulseInfoWriters_;
67 };
68 
69 } /* namespace RdAirplane */
70 #endif /* DATAWRITER_H_ */
Point object.
Definition: Point.h:32
Detector description interface for Station-related data.
DISALLOW_COPY_AND_ASSIGN(DataWriter)
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
PulseInfoWriter * registerEvent(evt::Event &pEvent, const Flight &pFlight, const utl::Point &pReconstructedRadioEventOrigin, utl::CoordinateSystemPtr pCoreCoordinateSystem)

, generated on Tue Sep 26 2023.