]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/Alieve/AliEveTRDLoader.h
Comment code, hide public data-members.
[u/mrichter/AliRoot.git] / EVE / Alieve / AliEveTRDLoader.h
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          *
7  * full copyright notice.                                                 * 
8  **************************************************************************/
9 #ifndef ALIEVE_TRDLoader_H
10 #define ALIEVE_TRDLoader_H
11
12 ////////////////////////////////////////////////////////////////////////
13 //                                                                      // - ALIEVE implementation -
14 // Loader for the TRD detector - base class 
15 //    - AliEveTRDLoader - loader of TRD data (simulation + measured)
16 //    - AliEveTRDLoaderEditor - UI
17 //
18 // by A.Bercuci (A.Bercuci@gsi.de)   Fri Oct 27 2006
19 ////////////////////////////////////////////////////////////////////////
20
21 #include <TEveElement.h>
22 #include <TGedFrame.h>
23 #include <TString.h>
24
25 class AliTRDv1;
26 class AliTRDgeometry;
27
28 class TGNumberEntry;
29 class TGColorSelect;
30 class TGTextEntry;
31 class TTree;
32
33 class TEveGValuator;
34
35         class AliEveTRDChamber;
36         class AliEveTRDLoaderManager;
37         enum TRDDataTypes{
38                 kHits = 0,
39                 kDigits = 1,
40                 kClusters = 2,
41                 kTracks = 3,
42                 kRawRoot = 4,
43                 kRawData = 5
44         };
45         class AliEveTRDLoader : public TEveElementList
46         {
47         friend class AliEveTRDLoaderEditor;
48         public:
49                 AliEveTRDLoader(const Text_t* n="AliEveTRDLoader", const Text_t* t=0x0);
50                 ~AliEveTRDLoader();
51                 virtual void            Paint(Option_t *option="");
52                 virtual void            SetDataType(TRDDataTypes type);
53         protected:
54                 virtual void            AddChambers(int sm=-1, int stk=-1, int ly=-1);
55                 virtual AliEveTRDChamber*       GetChamber(int d);
56                 virtual Bool_t  GoToEvent(int ev);
57                 virtual Bool_t  LoadClusters(TTree *tC);
58                 virtual Bool_t  LoadDigits(TTree *tD);
59                 virtual Bool_t  LoadTracklets(TTree *tT);
60                 virtual Bool_t  Open(const char *file, const char *dir = ".");
61                 virtual void            Unload();
62
63         protected:
64                 Bool_t  kLoadHits, kLoadDigits, kLoadClusters, kLoadTracks;
65                 Int_t           fSM, fStack, fLy; // supermodule, stack, layer
66                 TString fFilename; // name of data file 
67                 TString fDir; // data directory
68                 Int_t           fEvent; // current event to be displayed
69                         
70
71                 AliTRDv1                                        *fTRD; // the TRD detector
72                 AliTRDgeometry          *fGeo; // the TRD geometry
73                 
74                 ClassDef(AliEveTRDLoader, 1) // Alieve Loader class for the TRD detector
75         };
76
77
78         
79         class AliEveTRDLoaderEditor : public TGedFrame
80         {
81         public:
82                 AliEveTRDLoaderEditor(const TGWindow* p=0, Int_t width = 170, Int_t height = 30, UInt_t options = kChildFrame, Pixel_t back = GetDefaultFrameBackground());
83                 ~AliEveTRDLoaderEditor();
84
85                 virtual void    AddChambers();
86                 virtual void    FileOpen();
87                 virtual void    Load();
88                 virtual void    SetEvent(Double_t ev){fM->fEvent = (Int_t)ev;}
89                 virtual void    SetModel(TObject* obj);
90                 
91         protected:
92                 AliEveTRDLoader         *fM;
93                 TGTextEntry             *fFile;
94                 TEveGValuator           *fEvent;
95                 TEveGValuator           *fSMNumber, *fStackNumber, *fPlaneNumber;
96                 
97                 ClassDef(AliEveTRDLoaderEditor,1) // Editor for AliEveTRDLoader
98         };
99         
100 #endif