The present commit corresponds to an important change in the way the
[u/mrichter/AliRoot.git] / TRD / AliTRDsegmentArray.h
CommitLineData
8230f242 1#ifndef ALITRDSEGMENTARRAY_H
2#define ALITRDSEGMENTARRAY_H
f7336fa3 3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
04eeac11 8////////////////////////////////////////////////////////////////////////////
9// //
10// Array for TRD detector segments containing digits //
11// //
12////////////////////////////////////////////////////////////////////////////
f7336fa3 13
625f5260 14#include <TNamed.h>
15
abaf1f1d 16class TTree;
625f5260 17class TBranch;
18class TObjArray;
abaf1f1d 19
625f5260 20class AliTRDarrayI;
793ff80c 21class AliTRDdataArray;
625f5260 22class AliTRDsegmentID;
f7336fa3 23
625f5260 24class AliTRDsegmentArray : public TNamed {
f7336fa3 25
26 public:
27
28 AliTRDsegmentArray();
8e8eae84 29 AliTRDsegmentArray(const char *classname, Int_t n);
8230f242 30 AliTRDsegmentArray(AliTRDsegmentArray &a);
31 virtual ~AliTRDsegmentArray();
625f5260 32 AliTRDsegmentArray &operator=(const AliTRDsegmentArray &a);
33
34 const AliTRDsegmentID *At(Int_t i) const;
35 const AliTRDsegmentID *operator[](Int_t i) const;
f7336fa3 36
625f5260 37 Bool_t AddSegment(AliTRDsegmentID *segment);
38 AliTRDsegmentID *AddSegment(Int_t index);
39 virtual AliTRDsegmentID *NewSegment();
40 virtual AliTRDsegmentID *LoadSegment(Int_t index);
41 virtual AliTRDsegmentID *LoadEntry(Int_t index);
42 virtual void StoreSegment(Int_t index);
43 void ClearSegment(Int_t index);
44
e0d47c25 45 virtual void Copy(TObject &a) const;
625f5260 46 virtual Bool_t ConnectTree(const char *treeName);
f7336fa3 47 virtual void Delete();
9d0b222b 48 virtual void Delete(const char *) { Delete(); };
f7336fa3 49
625f5260 50 Bool_t MakeArray(Int_t n);
51 virtual void MakeTree(char *file = 0);
52 Bool_t MakeDictionary(Int_t size);
53
54 Bool_t SetClass(const char *classname);
55
56 TClass *GetClass() const { return fClass; };
57 TTree *GetTree() const { return fTree; };
58
abaf1f1d 59 virtual Bool_t LoadArray(const Char_t *branchname, TTree *tree = 0);
60 virtual Bool_t StoreArray(const Char_t *branchname, TTree *tree = 0);
f7336fa3 61
793ff80c 62 virtual AliTRDdataArray *GetDataArray(Int_t det) const;
63 virtual AliTRDdataArray *GetDataArray(Int_t sec, Int_t cha, Int_t pla) const;
f7336fa3 64
65 protected:
66
625f5260 67 TObjArray *fSegment; //! Pointer to an array of pointers to a segment
68 AliTRDarrayI *fTreeIndex; //! Pointers(index) table
69 Int_t fNSegment; // Number of segments
70 TTree *fTree; //! Tree with segment objects
71 TBranch *fBranch; //! Branchaddress
72 TClass *fClass; //! Class type of included objects
73
74 ClassDef(AliTRDsegmentArray,2) // TRD detector segment array
f7336fa3 75
76};
77
78#endif