]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/OnlineDisplay/AliHLTPHOSOnlineDisplayFourierTab.h
added function AliCFContainer::MakeSlice reading user-defined steps.
[u/mrichter/AliRoot.git] / HLT / PHOS / OnlineDisplay / AliHLTPHOSOnlineDisplayFourierTab.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
f704525c 4#ifndef ALIHLTPHOSONLINEDISPLAYFOURIERTAB_H
5#define ALIHLTPHOSONLINEDISPLAYFOURIERTAB_H
6
7#include <TGTab.h>
8#include <TRootEmbeddedCanvas.h>
9#include "AliHLTPHOSOnlineDisplayTab.h"
10
11#include <TCanvas.h>
12#include <TH2D.h>
13#include <TH1D.h>
14#include "AliHLTPHOSOnlineDisplayTH2D.h"
15#include "AliHLTPHOSConstants.h"
16//#include "AliHLTPHOSFourier.h"
17#include "AliHLTPHOSRcuFFTDataStruct.h"
18#define N_ZRCU_COORD 2
19#define N_XRCU_COORD 2
20
21using namespace PhosHLTConst;
22
23class AliHLTPHOSGetEventButton;
24class AliHLTHOMERReader;
25class AliHLTPHOSRcuCellEnergyDataStruct;
26class AliHLTPHOSOnlineDisplay;
27class AliHLTPHOSSharedMemoryInterface;
28class AliHLTPHOSFourier;
29
30class AliHLTPHOSOnlineDisplayFourierTab : public AliHLTPHOSOnlineDisplayTab
31{
32 public:
33 virtual ~AliHLTPHOSOnlineDisplayFourierTab();
34 AliHLTPHOSOnlineDisplayFourierTab(AliHLTPHOSOnlineDisplay *onlineDisplayPtr, TGTab *tabPtr, AliHLTHOMERReader *fgHomerReaderPtr, AliHLTHOMERReader *fgHomerReadersPtr[MAX_HOSTS], int nHosts);
35 Int_t GetRawData(TH1D *histPtr, int x, int z, int gain);
36 void UpdateDisplay();
37 int GetNextEvent();
38 virtual void ReadBlockData(AliHLTHOMERReader *homeReaderPtr);
39 void FindFourierBlocks(AliHLTHOMERReader *homeReaderPtr);
40
41 void ResetDisplay();
42 TGTab *fTab;
43 TGTab *fSubTab1;
44 TRootEmbeddedCanvas *fEc1, *fEc2, *fEc3, *fEc4, *fEc5, *fEc6;
45 // TRootEmbeddedCanvas *fEc1, *fEc2, *fEc3, *fEc4;
46 // TGCompositeFrame *fSubF1, *fSubF2;
47 TGCompositeFrame *fSubF1, *fSubF2, *fSubF3;
48 TCanvas *fgCanvasPtr[N_GAINS];
49 AliHLTPHOSOnlineDisplayTH2D *fgLegoPlotPtr[N_GAINS];
50
51 TH1D *fFourierHistoNew[N_GAINS];
52 TH1D *fFourierHistoOld[N_GAINS];
53 TH1D *fFourierHistoAccumulated[N_GAINS];
54
55 // TRootEmbeddedCanvas *fFourierHistoAccumulatedEC[N_GAINS];
56 // TRootEmbeddedCanvas *fFourierHistoOldEC[N_GAINS];
57 // TRootEmbeddedCanvas *fFourierHistoAccumulatedEC[N_GAINS];
58
59 // int *fChannelData[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
60 // Int_t fNChannelSamples[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
61 // Int_t fChannelEnergy[N_MODULES][N_XRCU_COORD][N_ZRCU_COORD][N_XCOLUMNS_RCU][N_ZROWS_RCU][N_GAINS];
62 const char* Gain2Text(const int gain, const char delimeter);
63
64 protected:
65 Bool_t fgAccumulate;
66
67 private:
68 void FillHistograms(const AliHLTPHOSRcuFFTDataStruct psd, const int size);
69
70 AliHLTPHOSOnlineDisplayFourierTab();
71 AliHLTPHOSGetEventButton* fgEventButtPtr;
72 void InitDisplay(TGTab *tabPtr);
73 AliHLTPHOSOnlineDisplay *fOnlineDisplayPtr;
74 AliHLTPHOSSharedMemoryInterface *fShmPtr;
75
76 AliHLTPHOSFourier *fFourierPtr;
77 char fGainText[256];
78
79 unsigned long fEvtCnt;
80};
81
82
83#endif