+++ /dev/null
-#ifndef ALISEGMENTARRAY_H
-#define ALISEGMENTARRAY_H
-/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
- * See cxx source for full Copyright notice */
-
-/* $Id$ */
-
-////////////////////////////////////////////////
-// Manager class general Alice segment
-// segment is for example one pad row in TPC //
-////////////////////////////////////////////////
-
-#include "TNamed.h"
-#include "TError.h"
-#include "TObjArray.h"
-
-class TTree;
-class TBranch;
-class TFile;
-class TArrayI;
-class AliSegmentID;
-
-class AliSegmentArray: public TNamed{
-public:
- AliSegmentArray();
- AliSegmentArray(const char *classname, Int_t n); //
- virtual ~AliSegmentArray();
- Bool_t SetClass(const char *classname); //set class of stored object
- const AliSegmentID * At(Int_t i); //return pointer to segment with index i
- const AliSegmentID * operator[](Int_t i); //return pointer to segment with index i
-
- Bool_t AddSegment(AliSegmentID *segment); // add segment to array
- AliSegmentID * AddSegment(Int_t index); //create objet and set index
- Bool_t MakeArray(Int_t n); //make array of pointers to Segments
- void ClearSegment(Int_t index); //remove segment from active
- virtual AliSegmentID * NewSegment(); //dynamicaly create new segment
- //input output functions
- TTree * GetTree(){return fTree;} //return pointer to connected tree
-
- virtual void MakeTree(char *file=0); //Make tree with the name
- virtual void MakeTree(TTree* tree); //Make tree with the name
-
- virtual Bool_t ConnectTree(const char * treeName); //connect tree from current directory
- virtual Bool_t ConnectTree(TTree* tree); //connect tree from current directory
-
- virtual AliSegmentID * LoadSegment(Int_t index);//load segment with index to the memory
- virtual AliSegmentID * LoadEntry(Int_t index); //load segment entry from position index in tree
- virtual void StoreSegment(Int_t index);//write segmen persistent
- Bool_t MakeDictionary(Int_t size);//create index table for tree
- TClass * GetClass() {return fClass;}
-
-protected:
- AliSegmentArray(const AliSegmentArray &segment); //copy constructor
- AliSegmentArray &operator = (const AliSegmentArray & segment); //assignment operator
- TObjArray * fSegment; //!pointer to array of pointers to segment
- TArrayI * fTreeIndex; //!pointers(index) table in tree
- Int_t fNSegment; //number of alocated segments
- TTree * fTree; //!tree with segment objects
- Bool_t fTreeOwner;// flag determing the ownership of the fTree
- TBranch * fBranch; //!total branch
-private:
- TClass * fClass; //!class type of included objects
- ClassDef(AliSegmentArray,3)
-};
-
-
-
-inline const AliSegmentID* AliSegmentArray::operator[](Int_t i)
-{
- //
- //return segment with given index
- //
- if ( (i<0) || (i>=fNSegment)) return 0;
- return (AliSegmentID *)(fSegment->At(i));
-
-}
-
-inline const AliSegmentID* AliSegmentArray::At(Int_t i)
-{
- //
- //return segment with given index
- //
- if ( (i<0) || (i>=fNSegment)) return 0;
- return (AliSegmentID *)(fSegment->At(i));
-}
-
-#endif //ALISEGMENTARRAY_H