source: trunk/MagicSoft/Cosy/main/MStarguider.h@ 4823

Last change on this file since 4823 was 4105, checked in by tbretz, 21 years ago
*** empty log message ***
File size: 2.9 KB
Line 
1#ifndef COSY_MStarguider
2#define COSY_MStarguider
3
4#ifndef ROOT_TGFrame
5#include <TGFrame.h>
6#endif
7
8#include "PixClient.h"
9#include "MGImage.h"
10#include "coord.h"
11
12#ifndef MARS_MObservatory
13#include "MObservatory.h"
14#endif
15#ifndef MARS_MTime
16#include "MTime.h"
17#endif
18#ifndef MARS_MGList
19#include "MGList.h"
20#endif
21
22class TArrayF;
23class TGLabel;
24class TGButton;
25
26class TTimer;
27
28class MGMenuBar;
29class MGPopupMenu;
30class TGTextEntry;
31
32class PixGetter;
33
34class MGImage;
35class MGCoordinates;
36
37class StarCatalog;
38class MStarList;
39class MCosy;
40class MCaos;
41class FilterLed;
42class Ring;
43
44class Leds;
45
46class MStarguider : public PixClient, public TGMainFrame
47{
48private:
49 PixGetter *fGetter;
50
51 MGList *fList;
52
53 MGMenuBar *fMenu;
54 MGImage *fImage;
55 MGImage *fZoomImage;
56
57 MGPopupMenu *fDisplay;
58 MGPopupMenu *fWritePictures;
59 MGPopupMenu *fFileType;
60 MGPopupMenu *fWriteType;
61 MGPopupMenu *fWriteRate;
62 MGPopupMenu *fInterpol;
63 MGPopupMenu *fSetup;
64 MGPopupMenu *fLimMag;
65 MGPopupMenu *fChannel;
66
67 MGPopupMenu *fCaosWrite;
68 MGPopupMenu *fCaosPrint;
69 MGPopupMenu *fCaosAnalyse;
70 MGPopupMenu *fCaOs;
71
72 MGCoordinates *fCRaDec;
73 MGCoordinates *fCZdAz;
74
75 MGCoordinates *fPZdAz;
76
77 TGTextEntry *fPixSize;
78 TGTextEntry *fAngle;
79
80 TGLabel *fFps;
81 TGLabel *fPosZoom;
82
83 TGButton *fTPoint;
84
85 StarCatalog *fSao;
86 MCosy *fCosy;
87 MCaos *fCaos;
88
89 RaDec *fRaDec;
90
91 TTimer *fTimer;
92 MTime fTime;
93
94 ofstream *fOutTp;
95
96 Int_t fDx;
97 Int_t fDy;
98
99 byte fIntRate;
100 int fWrtRate;
101
102 void SetPixSize(const double pixsize);
103 void Toggle(MGPopupMenu *p, UInt_t id);
104 //void GetCoordinates();
105 void CalcTrackingError(Leds &, MStarList &);
106 ZdAz TrackingError(TArrayF &alt, TArrayF &az, TArrayF &mag) const;
107 bool Interpolate(const unsigned long n, byte *img) const;
108 void FindStar(FilterLed &f, FilterLed &f2, Ring &center, MTime &t);
109
110 //void InitHists();
111 //void InitGraphs();
112 void InitGui(Int_t channel);
113
114 //void OpenFile();
115
116 //void ResetHists();
117 //void DisplayAnalysis();
118 void UpdatePosZoom();
119
120 Bool_t HandleTimer(TTimer *t);
121 //Bool_t HandleKey(Event_t* event);
122
123public:
124 MStarguider(MObservatory::LocationName_t obs, Int_t channel);
125 virtual ~MStarguider();
126
127 //void Update();
128
129 void Layout();
130 void CloseWindow();
131
132 Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
133
134 Bool_t HandleDoubleClick(Event_t *event);
135 //Bool_t HandleButton(Event_t *);
136
137 void SetPointingPosition(RaDec rd);
138 void SetCosy(MCosy *c) { fCosy = c; }
139
140 XY GetCoordinates() const;
141
142 //
143 // Execution of one frame - this function may be overloaded!
144 //
145 void ProcessFrame(const unsigned long n, byte *img, struct timeval *tm);
146
147 ClassDef(MStarguider, 0)
148};
149
150#endif
Note: See TracBrowser for help on using the repository browser.