1 #ifndef ALITRDSEGMENTARRAYBASE_H
2 #define ALITRDSEGMENTARRAYBASE_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 /* $Id: AliTRDsegmentArrayBase.h,v */
8 ////////////////////////////////////////////////
9 // Manager class for a general Alice segment //
10 ////////////////////////////////////////////////
17 class AliTRDsegmentID;
20 class AliTRDsegmentArrayBase: public TNamed {
24 AliTRDsegmentArrayBase();
25 AliTRDsegmentArrayBase(Text_t *classname, Int_t n);
26 AliTRDsegmentArrayBase(const AliTRDsegmentArrayBase &a);
27 virtual ~AliTRDsegmentArrayBase();
28 AliTRDsegmentArrayBase &operator=(const AliTRDsegmentArrayBase &a);
30 const AliTRDsegmentID *At(Int_t i) const;
31 const AliTRDsegmentID *operator[](Int_t i);
33 Bool_t AddSegment(AliTRDsegmentID *segment);
34 AliTRDsegmentID *AddSegment(Int_t index);
35 void ClearSegment(Int_t index);
36 virtual void Copy(TObject &a);
37 virtual Bool_t ConnectTree(const char *treeName);
38 Bool_t MakeArray(Int_t n);
39 virtual AliTRDsegmentID *NewSegment();
40 virtual void MakeTree();
41 virtual AliTRDsegmentID *LoadSegment(Int_t index);
42 virtual AliTRDsegmentID *LoadEntry(Int_t index);
43 virtual void StoreSegment(Int_t index);
44 Bool_t MakeDictionary(Int_t size);
46 Bool_t SetClass(Text_t *classname);
48 TClass *GetClass() const { return fClass; };
49 TTree *GetTree() const { return fTree; };
53 TObjArray *fSegment; //! Pointer to an array of pointers to a segment
54 AliTRDarrayI *fTreeIndex; //! Pointers(index) table
55 Int_t fNSegment; // Number of segments
56 TTree *fTree; //! Tree with segment objects
57 TBranch *fBranch; //! Branchaddress
58 TClass *fClass; //! Class type of included objects
60 ClassDef(AliTRDsegmentArrayBase,1) // TRD detextor segment array base class