]>
Commit | Line | Data |
---|---|---|
33791895 | 1 | /* This file is property of and copyright by the ALICE HLT Project * |
2 | * ALICE Experiment at CERN, All rights reserved. * | |
3 | * See cxx source for full Copyright notice */ | |
4 | ||
5 | /// @file AliHLTEveBase.h | |
6 | /// @author Svein Lindal | |
7 | /// @brief Base class for the HLT eve display elements | |
8 | ||
9 | #ifndef ALIHLTEVEBASE_H | |
10 | #define ALIHLTEVEBASE_H | |
11 | ||
12 | #include "Rtypes.h" | |
3d600a8b | 13 | #include "TString.h" |
fd2adb88 | 14 | #include "TEveElement.h" |
33791895 | 15 | class AliHLTHOMERBlockDesc; |
fd2adb88 | 16 | class AliEveHLTEventManager; |
33791895 | 17 | class TCanvas; |
3d600a8b | 18 | |
33791895 | 19 | |
fd2adb88 | 20 | class AliHLTEveBase : public TEveElementList { |
33791895 | 21 | |
22 | public: | |
23 | ||
24 | /** Default constructor prohibited **/ | |
fd2adb88 | 25 | AliHLTEveBase(const char * name); |
33791895 | 26 | |
27 | /** Destructor **/ | |
28 | virtual ~AliHLTEveBase(); | |
29 | ||
30 | /** Process the incoming blocks, must be implemented by children */ | |
31 | virtual void ProcessBlock(AliHLTHOMERBlockDesc * block) = 0; | |
32 | ||
33 | /** Update the elements after new event loaded, to be implemented by children */ | |
34 | virtual void UpdateElements() = 0; | |
35 | ||
36 | /** Reset the elements before reading in new event, to be implemented by children */ | |
37 | virtual void ResetElements() = 0; | |
38 | ||
fd2adb88 | 39 | /** Set the parent AliEveHLTEventManager instance */ |
40 | void SetEventManager(AliEveHLTEventManager * em) { fEventManager = em; }; | |
33791895 | 41 | |
42 | ||
43 | ||
44 | protected: | |
45 | ||
46 | /** Create a new canvas tab */ | |
47 | TCanvas * CreateCanvas(TString tabTitle, TString canvasTitle ); | |
48 | ||
49 | /** Addhistograms to the canvas */ | |
50 | virtual void AddHistogramsToCanvas(AliHLTHOMERBlockDesc * block, TCanvas * canvas, Int_t &cdCount ); | |
51 | ||
3d600a8b | 52 | |
53 | /// Getters and setters for the max number of histograms | |
54 | void SetMaxHistograms(Int_t mh) {fMaxHistos = mh;} | |
55 | Int_t GetMaxHistograms() const {return fMaxHistos;} | |
56 | ||
57 | ///Getter and setter for the detector string | |
58 | void SetDetector(TString det) {fDetector = det;} | |
59 | TString GetDetector() const {return fDetector;} | |
60 | ||
33791895 | 61 | |
fd2adb88 | 62 | AliEveHLTEventManager * fEventManager; //Pointer to AliEveHLTEventManager instance |
33791895 | 63 | TCanvas * fCanvas; //Canvas for histograms |
64 | Int_t fHistoCount; //Counter for histograms, to track where to draw the next one | |
65 | ||
66 | ||
67 | private: | |
68 | ||
fd2adb88 | 69 | /** Default constructor prohibited **/ |
70 | AliHLTEveBase(); | |
33791895 | 71 | /** copy constructor prohibited */ |
72 | AliHLTEveBase(const AliHLTEveBase&); | |
73 | /** assignment operator prohibited */ | |
74 | AliHLTEveBase& operator=(const AliHLTEveBase&); | |
75 | ||
3d600a8b | 76 | Int_t fMaxHistos; // Maximum number histograms there is room for. |
77 | ||
78 | TString fDetector; //String denoting the detector | |
79 | ||
33791895 | 80 | ClassDef(AliHLTEveBase, 0); |
81 | }; | |
82 | ||
83 | #endif |