New class structure
[u/mrichter/AliRoot.git] / HLT / PHOS / OnlineDisplay / AliHLTPHOSOnlineDisplay.h
1 #ifndef ALIHLTPHOSONLINEDISPLAY
2 #define ALIHLTPHOSONLINEDISPLAY
3
4 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice */
6
7 #include "HOMERData.h"
8 #include "HOMERReader.h"
9 #include "HOMERWriter.h"
10 #include "Rtypes.h"
11 #include <TGFrame.h>
12 #include "TH2.h"
13 #include "AliHLTPHOSGetEventButton.h" 
14 #include "TGTab.h"
15 #include <TRootEmbeddedCanvas.h>
16 #include <TCanvas.h>
17 #include "TGFrame.h"
18 #include "AliHLTPHOSCommonDefs.h"
19 #include "AliHLTPHOSRcuChannelDataStruct.h"
20 #include "AliHLTPHOSOnlineDisplayEventTab.h"
21 #include "AliHLTPHOSOnlineDisplayCalibTab.h"
22 #include "AliHLTPHOSOnlineDisplayRawTab.h"
23
24 #include "AliHLTPHOSCommonDefs.h"
25
26
27 class TCanvas;
28 class AliHLTPHOSRcuCellEnergyDataStruct;
29
30 class AliHLTPHOSOnlineDisplay : public  TGMainFrame
31 {
32  public:
33   ~AliHLTPHOSOnlineDisplay();
34   int GetNextEvent();
35   int GetNextEventRaw();
36   int GetHistogram();
37   void InitDisplay();
38   void EvaluateAverage();
39   int ScanArguments(int argc, char** argv);
40   static AliHLTPHOSOnlineDisplay* Instance(int argc, char** argv);  
41  private:
42   AliHLTPHOSOnlineDisplay();
43   AliHLTPHOSOnlineDisplay(int argc, char** argv);
44   static AliHLTPHOSOnlineDisplayEventTab  *fgEventTabPtr;
45   static AliHLTPHOSOnlineDisplayCalibTab  *fgCalibTabPtr;
46   static AliHLTPHOSOnlineDisplayRawTab    *fgRawTabPtr;
47   static TGTab               *fTab;
48   static AliHLTPHOSOnlineDisplay* fgInstancePtr;
49   static unsigned int fgNHosts;
50   static unsigned int fgNPorts;
51   static HOMERReader* fgHomerReaderPtr;
52   static HOMERReader* fgHomerReadersPtr[MAX_HOSTS];
53   static char  *fgHosts[MAX_HOSTS];
54   static short unsigned    *fgPorts;
55   static Bool_t fgAccumulate;
56   static Bool_t fgSyncronize;
57 };
58
59
60 #endif