]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/EMCAL/OnlineDisplay/AliHLTEMCALOnlineDisplayFourierTab.h
First working version of EMCAL On-line debugging event display
[u/mrichter/AliRoot.git] / HLT / EMCAL / OnlineDisplay / AliHLTEMCALOnlineDisplayFourierTab.h
1 //-*- Mode: C++ -*-
2 // $Id: AliHLTEMCALOnlineDisplayFourierTab.h 35108 2009-09-30 01:58:37Z phille $
3
4 /**************************************************************************
5  * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved.      *
6  *                                                                        *
7  * Authors: Per Thomas Hille for the ALICE                                *
8  * offline/HLT Project. Contributors are mentioned in the code where      *
9  * appropriate.                                                           *
10  *                                                                        *
11  * Permission to use, copy, modify and distribute this software and its   *
12  * documentation strictly for non-commercial purposes is hereby granted   *
13  * without fee, provided that the above copyright notice appears in all   *
14  * copies and that both the copyright notice and this permission notice   *
15  * appear in the supporting documentation. The authors make no claims     *
16  * about the suitability of this software for any purpose. It is          *
17  * provided "as is" without express or implied warranty.                  *
18  **************************************************************************/
19
20 #ifndef ALIHLTEMCALONLINEDISPLAYFOURIERTAB_H
21 #define ALIHLTEMCALONLINEDISPLAYFOURIERTAB_H
22
23 #include <TGTab.h>
24 #include <TRootEmbeddedCanvas.h>
25 #include "AliHLTEMCALOnlineDisplayTab.h"
26
27 // #include <TCanvas.h>
28 // #include <TH2D.h>
29 // #include <TH1D.h>
30 // #include "AliHLTEMCALOnlineDisplayTH2D.h"
31 // #include "AliHLTEMCALConstants.h"
32 // //#include "AliHLTEMCALFourier.h"
33 // #include "AliHLTEMCALRcuFFTDataStruct.h"
34 #define NZRCUCOORD 2
35 #define NXRCUCOORD 2
36
37 using namespace EmcalHLTConst;
38
39 class TH1D;
40 class TH2D;
41 class TCanvas;
42 class TRootEmbeddedCanvas;
43 class TGTab;
44
45 //class AliHLTEMCALRcuFFTDataStruct;
46 class AliHLTCaloRcuFFTDataStruct;
47
48
49 class AliHLTEMCALConstants;
50 class AliHLTEMCALOnlineDisplayTH2D;
51 class AliHLTEMCALGetEventButton;
52 class AliHLTHOMERReader;
53 class AliHLTEMCALRcuCellEnergyDataStruct;
54 class AliHLTEMCALOnlineDisplay;
55 class AliHLTEMCALSharedMemoryInterface;
56 //class AliHLTEMCALFourier;
57
58 class AliHLTCaloFourier;
59
60 class AliHLTEMCALOnlineDisplayFourierTab : public AliHLTEMCALOnlineDisplayTab
61 {
62  public:
63   virtual ~AliHLTEMCALOnlineDisplayFourierTab(); // destructor 
64   AliHLTEMCALOnlineDisplayFourierTab(AliHLTEMCALOnlineDisplay * const onlineDisplayPtr, TGTab *tabPtr, const AliHLTHOMERReader * fgHomerReaderPtr, const AliHLTHOMERReader * const fgHomerReadersPtr[MAXHOSTS], int nHosts); // constructor
65   Int_t GetRawData(TH1D *histPtr, int x, int z, int gain); // GetRawData
66   void UpdateDisplay(); //UpdateDisplay
67   int GetNextEvent(); //GetNextEvent
68   virtual void ReadBlockData(AliHLTHOMERReader * const homeReaderPtr); //ReadBlockData
69   void FindFourierBlocks(AliHLTHOMERReader *homeReaderPtr);//FindFourierBlocks
70
71   void ResetDisplay(); //ResetDisplay
72   TGTab               *fTab;  //fTab
73   TGTab               *fSubTab1; //fSubTab1
74   TRootEmbeddedCanvas *fEc1, *fEc2, *fEc3, *fEc4, *fEc5, *fEc6; //Canvases
75   //  TRootEmbeddedCanvas *fEc1, *fEc2, *fEc3, *fEc4;
76   //  TGCompositeFrame    *fSubF1, *fSubF2;
77   TGCompositeFrame    *fSubF1, *fSubF2, *fSubF3; //frames
78   TCanvas *fgCanvasPtr[NGAINS]; // canvas
79   AliHLTEMCALOnlineDisplayTH2D *fgLegoPlotPtr[NGAINS]; //legoplot
80
81   TH1D *fFourierHistoNew[NGAINS]; //histogram
82   TH1D *fFourierHistoOld[NGAINS]; //histogram 
83   TH1D *fFourierHistoAccumulated[NGAINS]; //histogram
84
85   // TRootEmbeddedCanvas *fFourierHistoAccumulatedEC[NGAINS];
86   // TRootEmbeddedCanvas *fFourierHistoOldEC[NGAINS];
87   // TRootEmbeddedCanvas *fFourierHistoAccumulatedEC[NGAINS];
88
89   //  int *fChannelData[NMODULES][NXRCUCOORD][NZRCUCOORD][NXCOLUMNSRCU][NZROWSRCU][NGAINS];
90   // Int_t fNChannelSamples[NMODULES][NXRCUCOORD][NZRCUCOORD][NXCOLUMNSRCU][NZROWSRCU][NGAINS];
91   // Int_t fChannelEnergy[NMODULES][NXRCUCOORD][NZRCUCOORD][NXCOLUMNSRCU][NZROWSRCU][NGAINS];
92   const  char* Gain2Text(const int gain, const char delimeter); //gain2text
93
94  protected:
95   Bool_t fgAccumulate; //fgAccumulate
96
97  private:
98   // void FillHistograms(const AliHLTEMCALRcuFFTDataStruct psd, const int size); //FillHistograms
99   void FillHistograms(const AliHLTCaloRcuFFTDataStruct psd, const int size); //FillHistograms 
100
101   AliHLTEMCALOnlineDisplayFourierTab(); // default constructor
102   AliHLTEMCALGetEventButton* fgEventButtPtr;  // fgEventButtPtr
103   void InitDisplay(TGTab *tabPtr); //InitDisplay
104   AliHLTEMCALOnlineDisplay *fOnlineDisplayPtr; //fOnlineDisplayPtr
105   AliHLTEMCALSharedMemoryInterface *fShmPtr;   //fShmPtr
106
107   AliHLTCaloFourier *fFourierPtr; //fFourierPtr
108   char fGainText[256];  //fGainText
109
110   unsigned long fEvtCnt; //fEvtCnt
111
112   AliHLTEMCALOnlineDisplayFourierTab(const AliHLTEMCALOnlineDisplayFourierTab&); //copy constructor
113   AliHLTEMCALOnlineDisplayFourierTab & operator=(const AliHLTEMCALOnlineDisplayFourierTab); //assignement operator
114
115
116 };
117
118
119 #endif