]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/OnlineDisplay/AliHLTPHOSOnlineDisplayEventTab.h
1) Fourier analysis
[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
13 #define N_ZRCU_COORD 2
14 #define N_XRCU_COORD 2
15
16 using namespace PhosHLTConst;
17
18 class AliHLTPHOSGetEventButton;
19 class AliHLTHOMERReader;
20 class AliHLTPHOSRcuCellEnergyDataStruct;
21 class AliHLTPHOSOnlineDisplay;
22 class AliHLTPHOSSharedMemoryInterface;
23
24
25 class AliHLTPHOSOnlineDisplayEventTab : public AliHLTPHOSOnlineDisplayTab
26 {
27  public:
28  
29   virtual ~AliHLTPHOSOnlineDisplayEventTab();
30  
31   AliHLTPHOSOnlineDisplayEventTab(AliHLTPHOSOnlineDisplay *onlineDisplayPtr, TGTab *tabPtr, 
32                                   AliHLTHOMERReader *fgHomerReaderPtr, 
33                                   AliHLTHOMERReader *fgHomerReadersPtr[MAX_HOSTS], 
34                                   int nHosts, const int runnumber = -1);
35     //    {
36
37  
38   
39  
40
41 /* 
42   void SetRunNumber(const int runnumber) 
43   {
44     
45     fRunNumber = runnumber ;
46     cout << __FILE__ <<":"<< __LINE__ << "RunNumber was set to "<< fRunNumber  <<endl; ;
47   };
48   */
49
50   Int_t GetRawData(TH1D *histPtr, int x, int z, int gain);
51   void UpdateDisplay();
52   int GetNextEvent();
53   virtual void ReadBlockData(AliHLTHOMERReader *homeReaderPtr);
54   void FindFourierBlocks(AliHLTHOMERReader *homeReaderPtr);
55
56   void ResetDisplay();
57   TGTab               *fTab;
58   TGTab               *fSubTab1;
59   TRootEmbeddedCanvas *fEc1, *fEc2, *fEc3, *fEc4, *fEc5, *fEc6;
60   TGCompositeFrame    *fSubF1, *fSubF2, *fSubF3;
61   TCanvas *fgCanvasPtr[N_GAINS];
62   AliHLTPHOSOnlineDisplayTH2D *fgLegoPlotPtr[N_GAINS];
63   int *fChannelData[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
64   Int_t fNChannelSamples[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
65   Int_t fChannelEnergy[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
66
67  protected:
68   Bool_t fgAccumulate;
69
70  private:
71   AliHLTPHOSOnlineDisplayEventTab();
72   AliHLTPHOSGetEventButton* fgEventButtPtr; 
73   void InitDisplay(TGTab *tabPtr) {};
74   void InitDisplay(TGTab *tabPtr, const int runnumber);
75
76   AliHLTPHOSOnlineDisplay *fOnlineDisplayPtr;
77   AliHLTPHOSSharedMemoryInterface *fShmPtr;   
78
79   ///int fEvent
80
81 };
82
83
84 #endif