AnitaGpsCanvasMaker.h
1 
9 #ifndef ANITAGPSCANVASMAKER_H
10 #define ANITAGPSCANVASMAKER_H
11 
12 //Includes
13 #include <iostream>
14 #include <TObject.h>
15 #include <TMath.h>
16 #include <TVector3.h>
17 
18 #include "AnitaConventions.h"
19 #include "MagicDisplayConventions.h"
20 
21 class Adu5Pat;
22 class Adu5Sat;
23 class Adu5Vtg;
24 class G12Pos;
25 class G12Sat;
26 class GpsGga;
27 
28 class TPad;
29 
30 #define MAX_GPS_TIME_POINTS 200
31 
33 
37 {
38  public:
41 
42  //Instance generator
43  static AnitaGpsCanvasMaker* Instance();
44  TPad *getGpsMainCanvas(Adu5Sat *adu5SatAPtr, Adu5Sat *adu5SatBPtr, G12Sat *g12SatPtr, Adu5Pat *adu5PatAPtr, Adu5Pat *adu5PatBPtr, G12Pos *g12PosPtr, TPad *useCan=0);
45  TPad *getGpsInfoCanvas(Adu5Sat *adu5SatAPtr, Adu5Sat *adu5SatBPtr, G12Sat *g12SatPtr, Adu5Pat *adu5PatAPtr, Adu5Pat *adu5PatBPtr, G12Pos *g12PosPtr,TPad *useCan);
46 
47 
48  void setGpsDisplayOpt(MagicDisplayGpsDisplay::MagicDisplayGpsDisplay_t displayOpt) { fDisplayOpt=displayOpt;}
50 
51  protected:
54  void getSatelliteView(Adu5Sat *adu5SatAPtr, Adu5Sat *adu5SatBPtr, G12Sat *g12SatPtr, TPad *plotPad);
55  void addSatellitesToTimeArray(Adu5Sat *adu5SatAPtr, Adu5Sat *adu5SatBPtr, G12Sat *g12SatPtr);
56  void getMapView(Adu5Pat *adu5PatPtr, TPad *plotPad);
57  void getXYFromLatLong(double latitude, double longitude,
58  double &x, double &y);
59 
60  void getRelXYFromLatLong(float latitude, float longitude,
61  float &x, float &y);
62 
63  Double_t fG12SatTimeArray[MAX_GPS_TIME_POINTS];
64  Double_t fG12SatNumArray[MAX_GPS_TIME_POINTS];
65  Double_t fAdu5ASatTimeArray[MAX_GPS_TIME_POINTS];
66  Double_t fAdu5ASatNumArray[4][MAX_GPS_TIME_POINTS];
67  Double_t fAdu5BSatTimeArray[MAX_GPS_TIME_POINTS];
68  Double_t fAdu5BSatNumArray[4][MAX_GPS_TIME_POINTS];
69  Int_t fNumG12Sat;
70  Int_t fNumAdu5ASat;
71  Int_t fNumAdu5BSat;
72  Int_t fReloadMap;
73 };
74 
75 
76 #endif //ANITAGPSCANVASMAKER_H
~AnitaGpsCanvasMaker()
Destructor.
Adu5Pat – The ADU5 Position and Attitude Data.
Definition: Adu5Pat.h:26
Adu5Sat – The ADU5 Satellite Information.
Definition: Adu5Sat.h:23
Adu5Vtg – The ADU5 Velocity and Course Information.
Definition: Adu5Vtg.h:21
TPad * getGpsMainCanvas(Adu5Sat *adu5SatAPtr, Adu5Sat *adu5SatBPtr, G12Sat *g12SatPtr, Adu5Pat *adu5PatAPtr, Adu5Pat *adu5PatBPtr, G12Pos *g12PosPtr, TPad *useCan=0)
Returns the main GPS canvas.
G12Pos – The position data from the G12.
Definition: G12Pos.h:23
static AnitaGpsCanvasMaker * Instance()
Instance generator.
G12Sat – The satellite data from the G12.
Definition: G12Sat.h:24
void setGpsDisplayOpt(MagicDisplayGpsDisplay::MagicDisplayGpsDisplay_t displayOpt)
Sets the GPS display option.
AnitaGpsCanvasMaker()
Constructor.
MagicDisplayGpsDisplay::MagicDisplayGpsDisplay_t getGpsDisplayOpt()
Gets the GPS display option.
enum MagicDisplayGpsDisplay::EMagicDisplayGpsDisplay MagicDisplayGpsDisplay_t
Enumeration for plot style.
The GPS canvas maker.
TPad * getGpsInfoCanvas(Adu5Sat *adu5SatAPtr, Adu5Sat *adu5SatBPtr, G12Sat *g12SatPtr, Adu5Pat *adu5PatAPtr, Adu5Pat *adu5PatBPtr, G12Pos *g12PosPtr, TPad *useCan)
Returns the GPS info canvas, the canvas can be provided in useCan
GpsGga – GPS Geoid Data.
Definition: GpsGga.h:23
static AnitaGpsCanvasMaker * fgInstance
Protect against multiple instances.