2 // Main authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
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
12 ////////////////////////////////////////////////////////////////////////
13 // - ALIEVE implementation -
14 // Loader for the TRD detector - base class
15 // - AliEveTRDLoader - loader of TRD data (simulation + measured)
16 // - AliEveTRDLoaderEditor - UI
18 // by A.Bercuci (A.Bercuci@gsi.de) Fri Oct 27 2006
19 ////////////////////////////////////////////////////////////////////////
21 #include <TEveElement.h>
22 #include <TGedFrame.h>
35 class AliEveTRDChamber;
36 class AliEveTRDLoaderManager;
38 class AliEveTRDLoader : public TEveElementList
40 friend class AliEveTRDLoaderEditor;
53 AliEveTRDLoader(const Text_t* n="AliEveTRDLoader", const Text_t* t=0);
54 virtual ~AliEveTRDLoader() {}
56 virtual void Paint(Option_t *option="");
57 virtual void SetDataType(TRDDataTypes type);
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();
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
76 AliTRDv1 *fTRD; // the TRD detector
77 AliTRDgeometry *fGeo; // the TRD geometry
80 AliEveTRDLoader(const AliEveTRDLoader&); // Not implemented
81 AliEveTRDLoader& operator=(const AliEveTRDLoader&); // Not implemented
83 ClassDef(AliEveTRDLoader, 0); // Alieve Loader class for the TRD detector.
87 class AliEveTRDLoaderEditor : public TGedFrame
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() {}
94 virtual void AddChambers();
95 virtual void FileOpen();
97 virtual void SetEvent(Double_t ev){fM->fEvent = (Int_t)ev;}
98 virtual void SetModel(TObject* obj);
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.
107 AliEveTRDLoaderEditor(const AliEveTRDLoaderEditor&); // Not implemented
108 AliEveTRDLoaderEditor& operator=(const AliEveTRDLoaderEditor&); // Not implemented
110 ClassDef(AliEveTRDLoaderEditor, 0); // Editor for AliEveTRDLoader.