dafaf6245478ec8d1d77c94ac254a495fb9ac063
[u/mrichter/AliRoot.git] / EVE / Alieve / TPCData.h
1 // $Header$
2
3 #ifndef ALIEVE_TPCData_H
4 #define ALIEVE_TPCData_H
5
6 #include <Reve/Reve.h>
7
8 #include <TObject.h>
9
10 #include <vector>
11
12 class TTree;
13 class AliTPCRawStream;
14 class AliTPCRawStreamOld;
15
16 namespace Alieve {
17
18 class TPCSectorData;
19
20 class TPCData : public TObject, public Reve::ReferenceCount
21 {
22 protected:
23   std::vector<TPCSectorData*>  fSectors;
24   Int_t                        fSectorBlockSize;
25   Short_t                      fLoadThreshold;
26   Short_t                      fLoadPedestal;
27
28 public:
29   TPCData();
30   virtual ~TPCData();
31
32   void CreateSector(Int_t sector);
33   void CreateAllSectors();
34
35   TPCSectorData* GetSectorData(Int_t sector, Bool_t spawnSectors=kFALSE);
36
37   Int_t GetSectorBlockSize()   const { return fSectorBlockSize; }
38   void  SetSectorBlockSize(Int_t bs) { fSectorBlockSize = bs; }
39
40   Short_t GetLoadThreshold()     const { return fLoadThreshold; }
41   void    SetLoadThreshold(Short_t lt) { fLoadThreshold = lt; }
42
43   Short_t GetLoadPedestal()     const { return fLoadPedestal; }
44   void    SetLoadPedestal(Short_t lp) { fLoadPedestal = lp; }
45
46   void LoadDigits(TTree* tree, Bool_t spawnSectors=kTRUE);
47   void LoadRaw(AliTPCRawStream&    input, Bool_t spawnSectors=kTRUE);
48   void LoadRaw(AliTPCRawStreamOld& input, Bool_t spawnSectors=kTRUE, Bool_t warn=kFALSE);
49
50   ClassDef(TPCData, 1); // Manages TPC data for an event.
51 }; // endclass TPCData
52
53 }
54
55 #endif