]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EVE/EveDet/AliEveTRDLoader.h
Fix order of public/protected/private sections to conform with coding
[u/mrichter/AliRoot.git] / EVE / EveDet / 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 AliEveTRDLoader_H
10 #define AliEveTRDLoader_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
38 class AliEveTRDLoader : public TEveElementList
39 {
40   friend class AliEveTRDLoaderEditor;
41
42 public:
43   enum TRDDataTypes {
44     kHits     = 0,
45     kDigits   = 1,
46     kClusters = 2,
47     kTracks   = 3,
48     kRawRoot  = 4,
49     kRawData  = 5
50   };
51
52
53   AliEveTRDLoader(const Text_t* n="AliEveTRDLoader", const Text_t* t=0);
54   virtual ~AliEveTRDLoader() {}
55
56   virtual void          Paint(Option_t *option="");
57   virtual void          SetDataType(TRDDataTypes type);
58
59
60 protected:
61   virtual void          AddChambers(int sm=-1, int stk=-1, int ly=-1);
62   virtual AliEveTRDChamber*     GetChamber(int d);
63   virtual Bool_t        GoToEvent(int ev);
64   virtual Bool_t        LoadClusters(TTree *tC);
65   virtual Bool_t        LoadDigits(TTree *tD);
66   virtual Bool_t        LoadTracklets(TTree *tT);
67   virtual Bool_t        Open(const char *file, const char *dir = ".");
68   virtual void          Unload();
69
70   Bool_t        fLoadHits, fLoadDigits, fLoadClusters, fLoadTracks; // flags for data-loading
71   Int_t         fSM, fStack, fLy; // supermodule, stack, layer
72   TString       fFilename;        // name of data file
73   TString       fDir;             // data directory
74   Int_t         fEvent;           // current event to be displayed
75
76   AliTRDv1                      *fTRD; // the TRD detector
77   AliTRDgeometry                *fGeo; // the TRD geometry
78
79 private:
80   AliEveTRDLoader(const AliEveTRDLoader&);            // Not implemented
81   AliEveTRDLoader& operator=(const AliEveTRDLoader&); // Not implemented
82
83   ClassDef(AliEveTRDLoader, 0); // Alieve Loader class for the TRD detector.
84 };
85
86
87 class AliEveTRDLoaderEditor : public TGedFrame
88 {
89 public:
90   AliEveTRDLoaderEditor(const TGWindow* p=0, Int_t width=170, Int_t height=30,
91                         UInt_t options=kChildFrame, Pixel_t back=GetDefaultFrameBackground());
92   virtual ~AliEveTRDLoaderEditor() {}
93
94   virtual void  AddChambers();
95   virtual void  FileOpen();
96   virtual void  Load();
97   virtual void  SetEvent(Double_t ev){fM->fEvent = (Int_t)ev;}
98   virtual void  SetModel(TObject* obj);
99
100 protected:
101   AliEveTRDLoader       *fM;     // Model object.
102   TGTextEntry           *fFile;  // File name weed.
103   TEveGValuator         *fEvent; // Event no weed.
104   TEveGValuator         *fSMNumber, *fStackNumber, *fPlaneNumber; // Detector id weeds.
105
106 private:
107   AliEveTRDLoaderEditor(const AliEveTRDLoaderEditor&);            // Not implemented
108   AliEveTRDLoaderEditor& operator=(const AliEveTRDLoaderEditor&); // Not implemented
109
110   ClassDef(AliEveTRDLoaderEditor, 0); // Editor for AliEveTRDLoader.
111 };
112
113 #endif