Ads_bDataBase.h
Go to the documentation of this file.
1 /*
2  * AdsbDataBase.h
3  *
4  * Created on: Jul 23, 2015
5  * Author: leven
6  */
7 
8 #ifndef ADSBDATABASE_H_
9 #define ADSBDATABASE_H_
10 
11 #include "Macros_Convenience.h"
12 #include "AirplaneOffset.h" // list of Offsets
13 
14 #include "utl/CoordinateSystemPtr.h"
15 #include "utl/PhysicalConstants.h"
16 #include "utl/TimeStamp.h"
17 #include "utl/Point.h"
18 
19 #include "TFile.h"
20 
21 #include <string>
22 #include <map>
23 #include <list>
24 #include <vector>
25 #include <set>
26 
27 namespace RdAirplane {
28 
29 class Airplane;
30 class FlightAndPositionPair;
31 
33 public:
34  typedef std::list<FlightAndPositionPair> FlightsAndCoordinatesList;
35  typedef std::map<std::string, Airplane*> AirplaneMap;
36  typedef std::list<AirplaneOffset> AirplaneOffsetList;
37  typedef std::map<std::string, AirplaneOffsetList> AirplaneOffsetsMap;
38 
40  ReadLogFileResult(const std::string& pMessage, bool pAllGood, std::string pFileName) : Message(pMessage), AllGood(pAllGood), FileName(pFileName) {}
41  std::string Message;
42  bool AllGood;
43  std::string FileName;
44  };
45  typedef std::list<ReadLogFileResult> ReadLogFileResults;
46 
47  Ads_bDataBase(const utl::TimeInterval& pTimeShift = 0.0, const AirplaneOffsetsMap& pAirplaneOffsets = AirplaneOffsetsMap(), const std::string& pRootTrajectoryFitFileName = "");
48  virtual ~Ads_bDataBase();
49 
51  return _airplanes_;
52  }
53 
55  return _coordinateSystem_;
56  }
57 
59 
60  Airplane* getAirplaneById(const std::string& pId);
61 
62  ReadLogFileResults AddAirplanesFromLogFiles(const std::vector<std::string>& pAds_bLogFileNames);
63 
64  FlightsAndCoordinatesList getFlights(const utl::TimeStamp& pTime, const utl::Point& pReconstructedEventPosition, const double& pMaxAngleDifferenceInRadian, utl::CoordinateSystemPtr pCoreCoordinateSystem);
65 
66  std::string getInformations() const;
67 
69  return _timeShift_;
70  }
71 
72  TFile* getRootTrajectoryFitFile() const {
74  }
75 
76  const AirplaneOffset* getAirplaneOffset(const Airplane& pAirplane, const utl::TimeStamp& pTime) const;
77 
78  static ReadLogFileResults InitSharedDataBase(const std::vector<std::string>& pAds_bLogFileNames, const utl::TimeInterval& pTimeShift = 0.0, const AirplaneOffsetsMap& pAirplaneOffsets = AirplaneOffsetsMap(), const std::string& pRootTrajecotryFitFileName = "");
79  static ReadLogFileResults InitSharedDataBase(const std::string& pAds_bLogFileNames, const utl::TimeInterval& pTimeShift = 0.0, const AirplaneOffsetsMap& pAirplaneOffsets = AirplaneOffsetsMap(), const std::string& pRootTrajecotryFitFileName = "");
81 
82 private:
84  Airplane* _getOrCreateAndGetAirplaneById(const std::string& pId);
85  ReadLogFileResult _addAirplanesFromLogFile(const std::string& pAds_bLogFileName);
88  std::set<std::string> _logFiles_;
89 
91 
94 
96 
97 };
98 
99 } /* namespace RdAirplane */
100 #endif /* ADSBDATABASE_H_ */
Point object.
Definition: Point.h:32
std::list< FlightAndPositionPair > FlightsAndCoordinatesList
Definition: Ads_bDataBase.h:34
Airplane * _getOrCreateAndGetAirplaneById(const std::string &pId)
utl::CoordinateSystemPtr getCoordinateSystem() const
Definition: Ads_bDataBase.h:54
const utl::TimeInterval & getTimeShift() const
Definition: Ads_bDataBase.h:68
DISALLOW_COPY_AND_ASSIGN(Ads_bDataBase)
utl::TimeInterval _timeShift_
Definition: Ads_bDataBase.h:92
A TimeStamp holds GPS second and nanosecond for some event.
Definition: TimeStamp.h:110
boost::shared_ptr< const CoordinateTransformer > CoordinateSystemPtr
Shared pointer for coordinate systems.
ReadLogFileResult(const std::string &pMessage, bool pAllGood, std::string pFileName)
Definition: Ads_bDataBase.h:40
TFile * getRootTrajectoryFitFile() const
Definition: Ads_bDataBase.h:72
std::set< std::string > _logFiles_
Definition: Ads_bDataBase.h:88
FlightsAndCoordinatesList getFlights(const utl::TimeStamp &pTime, const utl::Point &pReconstructedEventPosition, const double &pMaxAngleDifferenceInRadian, utl::CoordinateSystemPtr pCoreCoordinateSystem)
Ads_bDataBase(const utl::TimeInterval &pTimeShift=0.0, const AirplaneOffsetsMap &pAirplaneOffsets=AirplaneOffsetsMap(), const std::string &pRootTrajectoryFitFileName="")
utl::CoordinateSystemPtr _coordinateSystem_
Definition: Ads_bDataBase.h:87
std::map< std::string, AirplaneOffsetList > AirplaneOffsetsMap
Definition: Ads_bDataBase.h:37
std::map< std::string, Airplane * > AirplaneMap
Definition: Ads_bDataBase.h:35
ReadLogFileResults AddAirplanesFromLogFiles(const std::vector< std::string > &pAds_bLogFileNames)
A TimeInterval is used to represent time elapsed between two events.
Definition: TimeInterval.h:43
ReadLogFileResult _addAirplanesFromLogFile(const std::string &pAds_bLogFileName)
std::list< ReadLogFileResult > ReadLogFileResults
Definition: Ads_bDataBase.h:45
static ReadLogFileResults InitSharedDataBase(const std::vector< std::string > &pAds_bLogFileNames, const utl::TimeInterval &pTimeShift=0.0, const AirplaneOffsetsMap &pAirplaneOffsets=AirplaneOffsetsMap(), const std::string &pRootTrajecotryFitFileName="")
AirplaneOffsetsMap _airplaneOffsets_
Definition: Ads_bDataBase.h:93
std::string getInformations() const
static Ads_bDataBase * _sharedDataBase
Definition: Ads_bDataBase.h:90
const AirplaneMap & getAirplanes()
Definition: Ads_bDataBase.h:50
static Ads_bDataBase * getSharedDataBase()
Airplane * getAirplaneById(const std::string &pId)
const AirplaneOffset * getAirplaneOffset(const Airplane &pAirplane, const utl::TimeStamp &pTime) const
static ReadLogFileResults InitSharedDataBaseFromCentralConfig()
std::list< AirplaneOffset > AirplaneOffsetList
Definition: Ads_bDataBase.h:36

, generated on Tue Sep 26 2023.