Coverity
[u/mrichter/AliRoot.git] / EVE / EveDet / AliEveTPCData.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
10 #ifndef AliEveTPCData_H
11 #define AliEveTPCData_H
12
13 #include <TEveUtil.h>
14
15 #include <TObject.h>
16
17 #include <vector>
18
19 class TTree;
20 class AliTPCRawStreamV3;
21
22 class AliEveTPCSectorData;
23
24 //------------------------------------------------------------------------------
25 // AliEveTPCData
26 //
27 // Container for TPC data for all sectors.
28
29 class AliEveTPCData : public TObject, public TEveRefCnt
30 {
31 public:
32   AliEveTPCData();
33   virtual ~AliEveTPCData();
34
35   void CreateSector(Int_t sector);
36   void CreateAllSectors();
37   void DropAllSectors();
38   void DeleteAllSectors();
39
40   AliEveTPCSectorData* GetSectorData(Int_t sector, Bool_t spawnSectors=kFALSE);
41
42   Int_t GetSectorBlockSize()   const { return fSectorBlockSize; }
43   void  SetSectorBlockSize(Int_t bs) { fSectorBlockSize = bs; }
44
45   Short_t GetLoadThreshold()     const { return fLoadThreshold; }
46   void    SetLoadThreshold(Short_t lt) { fLoadThreshold = lt; }
47
48   Short_t GetLoadPedestal()     const { return fLoadPedestal; }
49   void    SetLoadPedestal(Short_t lp) { fLoadPedestal = lp; }
50
51   Bool_t GetAutoPedestal()     const { return fAutoPedestal; }
52   void   SetAutoPedestal(Bool_t ap)  { fAutoPedestal = ap; }
53
54   void LoadDigits(TTree* tree, Bool_t spawnSectors=kTRUE);
55   void LoadRaw(AliTPCRawStreamV3& input, Bool_t spawnSectors=kTRUE, Bool_t warn=kFALSE);
56
57 protected:
58   std::vector<AliEveTPCSectorData*>  fSectors; // Vector of sector-data.
59   Int_t                      fSectorBlockSize; // Block-size of sector-data.
60   Short_t                    fLoadThreshold;   // Threshold at load-time.
61   Short_t                    fLoadPedestal;    // Pedestal at load-time.
62   Bool_t                     fAutoPedestal;    // If true determine pedestals automatically for each pad.
63
64 private:
65   AliEveTPCData(const AliEveTPCData&);            // Not implemented
66   AliEveTPCData& operator=(const AliEveTPCData&); // Not implemented
67
68   ClassDef(AliEveTPCData, 0); // Manages TPC data for an event.
69 };
70
71 #endif