New class TPCLoader providing (graphical) interface for navigation through the TPC...
[u/mrichter/AliRoot.git] / EVE / Alieve / TPCLoader.h
1 // $Header$
2
3 #ifndef ALIEVE_TPCLoader_H
4 #define ALIEVE_TPCLoader_H
5
6 #include <Reve/RenderElement.h>
7
8 class AliRawReaderRoot;
9
10 namespace Alieve {
11
12 class TPCData;
13 class TPCSector2D;
14 class TPCSector3D;
15
16 class TPCLoader : public Reve::RenderElementList
17 {
18   friend class TPCLoaderEditor;
19
20 protected:
21   TString           fFile;
22   Int_t             fEvent;
23
24   AliRawReaderRoot* fReader;
25   TPCData*          fData;
26
27   std::vector<TPCSector2D*> fSec2Ds;
28   std::vector<TPCSector3D*> fSec3Ds;
29
30 public:
31   TPCLoader(const Text_t* n="TPCLoader", const Text_t* t=0);
32   virtual ~TPCLoader();
33
34   virtual Bool_t CanEditMainColor() { return kFALSE; }
35
36   void SetFile(const Text_t* f) { fFile = f; }
37
38   TPCData* GetData() const { return fData; }
39   void     SetData(TPCData* d);
40
41   void OpenFile();
42   void LoadEvent();
43   void NextEvent(Bool_t rewindOnEnd=kTRUE);
44   void GotoEvent(Int_t event);
45
46   void UpdateSectors();
47   void CreateSectors3D();
48   void DeleteSectors3D();
49
50   ClassDef(TPCLoader, 1);
51 }; // endclass TPCLoader
52
53 }
54
55 #endif