]>
Commit | Line | Data |
---|---|---|
d810d0de | 1 | // $Id$ |
2 | // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007 | |
3 | ||
4 | /************************************************************************** | |
5 | * Copyright(c) 1998-2008, ALICE Experiment at CERN, all rights reserved. * | |
6 | * See http://aliceinfo.cern.ch/Offline/AliRoot/License.html for * | |
51346b82 | 7 | * full copyright notice. * |
d810d0de | 8 | **************************************************************************/ |
a282bf09 | 9 | #ifndef ALIEVE_TRDLoader_H |
10 | #define ALIEVE_TRDLoader_H | |
11 | ||
12 | //////////////////////////////////////////////////////////////////////// | |
13 | // // - ALIEVE implementation - | |
51346b82 | 14 | // Loader for the TRD detector - base class |
d810d0de | 15 | // - AliEveTRDLoader - loader of TRD data (simulation + measured) |
16 | // - AliEveTRDLoaderEditor - UI | |
a282bf09 | 17 | // |
18 | // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006 | |
19 | //////////////////////////////////////////////////////////////////////// | |
20 | ||
84aff7a4 | 21 | #include <TEveElement.h> |
a282bf09 | 22 | #include <TGedFrame.h> |
84aff7a4 | 23 | #include <TString.h> |
a282bf09 | 24 | |
a282bf09 | 25 | class AliTRDv1; |
14217b5f | 26 | class AliTRDgeometry; |
a282bf09 | 27 | |
a282bf09 | 28 | class TGNumberEntry; |
29 | class TGColorSelect; | |
30 | class TGTextEntry; | |
31 | class TTree; | |
84aff7a4 | 32 | |
33 | class TEveGValuator; | |
34 | ||
fd31e9de | 35 | class AliEveTRDChamber; |
36 | class AliEveTRDLoaderManager; | |
37 | ||
38 | class AliEveTRDLoader : public TEveElementList | |
39 | { | |
40 | friend class AliEveTRDLoaderEditor; | |
41 | ||
42 | private: | |
43 | AliEveTRDLoader(const AliEveTRDLoader&); // Not implemented | |
44 | AliEveTRDLoader& operator=(const AliEveTRDLoader&); // Not implemented | |
45 | ||
46 | public: | |
47 | enum TRDDataTypes { | |
48 | kHits = 0, | |
49 | kDigits = 1, | |
50 | kClusters = 2, | |
51 | kTracks = 3, | |
52 | kRawRoot = 4, | |
53 | kRawData = 5 | |
54 | }; | |
55 | ||
56 | public: | |
57 | AliEveTRDLoader(const Text_t* n="AliEveTRDLoader", const Text_t* t=0); | |
58 | ~AliEveTRDLoader(); | |
59 | virtual void Paint(Option_t *option=""); | |
60 | virtual void SetDataType(TRDDataTypes type); | |
61 | ||
62 | protected: | |
63 | virtual void AddChambers(int sm=-1, int stk=-1, int ly=-1); | |
64 | virtual AliEveTRDChamber* GetChamber(int d); | |
65 | virtual Bool_t GoToEvent(int ev); | |
66 | virtual Bool_t LoadClusters(TTree *tC); | |
67 | virtual Bool_t LoadDigits(TTree *tD); | |
68 | virtual Bool_t LoadTracklets(TTree *tT); | |
69 | virtual Bool_t Open(const char *file, const char *dir = "."); | |
70 | virtual void Unload(); | |
71 | ||
72 | protected: | |
73 | Bool_t fLoadHits, fLoadDigits, fLoadClusters, fLoadTracks; // flags for data-loading | |
74 | Int_t fSM, fStack, fLy; // supermodule, stack, layer | |
75 | TString fFilename; // name of data file | |
76 | TString fDir; // data directory | |
77 | Int_t fEvent; // current event to be displayed | |
78 | ||
79 | ||
80 | AliTRDv1 *fTRD; // the TRD detector | |
81 | AliTRDgeometry *fGeo; // the TRD geometry | |
82 | ||
83 | ClassDef(AliEveTRDLoader, 1); // Alieve Loader class for the TRD detector | |
84 | }; | |
85 | ||
86 | ||
87 | class AliEveTRDLoaderEditor : public TGedFrame | |
88 | { | |
89 | private: | |
90 | AliEveTRDLoaderEditor(const AliEveTRDLoaderEditor&); // Not implemented | |
91 | AliEveTRDLoaderEditor& operator=(const AliEveTRDLoaderEditor&); // Not implemented | |
92 | ||
93 | public: | |
94 | AliEveTRDLoaderEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30, | |
95 | UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground()); | |
96 | ~AliEveTRDLoaderEditor(); | |
97 | ||
98 | virtual void AddChambers(); | |
99 | virtual void FileOpen(); | |
100 | virtual void Load(); | |
101 | virtual void SetEvent(Double_t ev){fM->fEvent = (Int_t)ev;} | |
102 | virtual void SetModel(TObject* obj); | |
103 | ||
104 | protected: | |
105 | AliEveTRDLoader *fM; | |
106 | TGTextEntry *fFile; | |
107 | TEveGValuator *fEvent; | |
108 | TEveGValuator *fSMNumber, *fStackNumber, *fPlaneNumber; | |
109 | ||
110 | ClassDef(AliEveTRDLoaderEditor,1); // Editor for AliEveTRDLoader | |
111 | }; | |
51346b82 | 112 | |
a282bf09 | 113 | #endif |