Support for automatic pedestal estimation per pad (Marian and Matevz).
[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   Bool_t                       fAutoPedestal;
28
29 public:
30   TPCData();
31   virtual ~TPCData();
32
33   void CreateSector(Int_t sector);
34   void CreateAllSectors();
35
36   TPCSectorData* GetSectorData(Int_t sector, Bool_t spawnSectors=kFALSE);
37
38   Int_t GetSectorBlockSize()   const { return fSectorBlockSize; }
39   void  SetSectorBlockSize(Int_t bs) { fSectorBlockSize = bs; }
40
41   Short_t GetLoadThreshold()     const { return fLoadThreshold; }
42   void    SetLoadThreshold(Short_t lt) { fLoadThreshold = lt; }
43
44   Short_t GetLoadPedestal()     const { return fLoadPedestal; }
45   void    SetLoadPedestal(Short_t lp) { fLoadPedestal = lp; }
46
47   Bool_t GetAutoPedestal()     const { return fAutoPedestal; }
48   void   SetAutoPedestal(Bool_t ap)  { fAutoPedestal = ap; }
49
50   void LoadDigits(TTree* tree, Bool_t spawnSectors=kTRUE);
51   void LoadRaw(AliTPCRawStream&    input, Bool_t spawnSectors=kTRUE);
52   void LoadRaw(AliTPCRawStreamOld& input, Bool_t spawnSectors=kTRUE, Bool_t warn=kFALSE);
53
54   ClassDef(TPCData, 1); // Manages TPC data for an event.
55 }; // endclass TPCData
56
57 }
58
59 #endif