]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/OnlineDisplay/AliHLTPHOSOnlineDisplayEventTab.h
Improved Online display, The Handle event function
[u/mrichter/AliRoot.git] / HLT / PHOS / OnlineDisplay / AliHLTPHOSOnlineDisplayEventTab.h
1 #ifndef ALIHLTPHOSONLINEDISPLAYEVENTTAB_H
2 #define ALIHLTPHOSONLINEDISPLAYEVENTTAB_H
3
4 #include <TGTab.h>
5 #include <TRootEmbeddedCanvas.h>
6 #include "AliHLTPHOSOnlineDisplayTab.h"
7 #include <TCanvas.h>
8 #include <TH2D.h>
9 #include <TH1D.h>
10 #include "AliHLTPHOSOnlineDisplayTH2D.h"
11 #include "AliHLTPHOSConstants.h"
12 //#include "AliHLTPHOSOnlineDisplay.h"
13
14 //#define N_SAMPLES 70 //BAD, someone is going to pay for this
15 //#define N_SAMPLES 140 //BAD, someone is going to pay for this
16 #define N_ZRCU_COORD 2
17 #define N_XRCU_COORD 2
18
19 using namespace PhosHLTConst;
20
21  
22 class AliHLTPHOSGetEventButton;
23 class HOMERReader;
24 //class AliHLTPHOSRcuCellEnergyDataStruct;
25 class AliHLTPHOSRcuCellEnergyDataStruct;
26 class AliHLTPHOSOnlineDisplay;
27
28 //      AliHLTPHOSRcuCellEnergyDataStruct.h 
29 class AliHLTPHOSOnlineDisplayEventTab : public AliHLTPHOSOnlineDisplayTab
30 {
31  public:
32   virtual ~AliHLTPHOSOnlineDisplayEventTab();
33   AliHLTPHOSOnlineDisplayEventTab(AliHLTPHOSOnlineDisplay *onlineDisplayPtr, TGTab *tabPtr, HOMERReader *fgHomerReaderPtr, HOMERReader *fgHomerReadersPtr[MAX_HOSTS], int nHosts);
34   //  void GetRawData(TH1D *histPtr);
35   //AliHLTPHOSOnlineDisplayEventTab::GetRawData(TH1D *histPtr, int mod, int rcuX, int rcuZ, int x, int z, int gain)
36   void GetRawData(TH1D *histPtr, int mod, int rcuX, int rcuZ, int x, int z, int gain);
37   void GetRawData(TH1D *histPtr, int x, int z, int gain);
38
39   void UpdateDisplay();
40   int GetNextEvent();
41   virtual void ReadBlockData(HOMERReader *homeReaderPtr);
42   void ResetDisplay();
43   TGTab               *fTab;
44   TGTab               *fSubTab1;
45   TRootEmbeddedCanvas *fEc1, *fEc2, *fEc3, *fEc4, *fEc5, *fEc6;
46   TGCompositeFrame    *fSubF1, *fSubF2, *fSubF3;
47   TCanvas *fgCanvasHGPtr;
48   TCanvas *fgCanvasLGPtr;
49
50   //  TH2D *fgLegoPlotLGPtr;
51   // TH2D *fgLegoPlotHGPtr;
52
53   AliHLTPHOSOnlineDisplayTH2D *fgLegoPlotLGPtr;
54   AliHLTPHOSOnlineDisplayTH2D *fgLegoPlotHGPtr;
55
56
57   //  int *fChannelData[N_MODULES][N_RCUS_PER_MODULE][N_ZROWS_RCU][N_XCOLUMNS_RCU][N_GAINS];
58   int *fChannelData[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
59
60  protected:
61   Bool_t fgAccumulate;
62
63  private:
64   AliHLTPHOSOnlineDisplayEventTab();
65   AliHLTPHOSGetEventButton* fgEventButtPtr; 
66   void InitDisplay(TGTab *tabPtr);
67
68   //  AliHLTPHOSOnlineDisplay. 
69   AliHLTPHOSOnlineDisplay *fOnlineDisplayPtr;
70     
71 };
72
73
74 #endif