]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/AliSegmentArray.h
Add Missing class declaration
[u/mrichter/AliRoot.git] / TPC / AliSegmentArray.h
index 6ac9caf270b0ce7067679876bdafd58367e27e31..dd3957360b4cbc786ad36ba973ae15e3de63228a 100644 (file)
@@ -1,5 +1,5 @@
-#ifndef ALISEGARRAY_H
-#define ALISEGARRAY_H
+#ifndef ALISEGMENTARRAY_H
+#define ALISEGMENTARRAY_H
 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
  * See cxx source for full Copyright notice                               */
 
 
 #include "TNamed.h"
 #include "TError.h"
-//#include "AliSegmentID.h"
+#include "TObjArray.h"
 
 class TTree;
 class TBranch;
-class AliArrayI;
+class TFile;
+class TArrayI;
 class AliSegmentID;
-class TObjArray;
  
 class AliSegmentArray: public TNamed{
 public:
   AliSegmentArray();
-  AliSegmentArray(Text_t *classname, Int_t n);  //
-  Bool_t  SetClass(Text_t *classname);  //set class of stored object
-  ~AliSegmentArray();
-  inline const AliSegmentID * At(Int_t i); //return pointer to segment with index i 
-  inline const AliSegmentID * operator[](Int_t i); //return pointer to segment with index i
+  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
@@ -37,42 +37,51 @@ public:
   //input output functions
   TTree * GetTree(){return fTree;}      //return pointer to connected tree
   
-  virtual void MakeTree();              //Make tree with the name
+  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;}
   
-public:
+protected:
+  AliSegmentArray(const AliSegmentArray &segment); //copy constructor
+  AliSegmentArray &operator = (const AliSegmentArray & segment); //assignment operator
   TObjArray  * fSegment;  //!pointer to array of pointers to segment
-  AliArrayI    * fTreeIndex; //!pointers(index) table in tree
-  Int_t      fNSegment;   
+  TArrayI    * fTreeIndex; //!pointers(index) table in tree
+  Int_t      fNSegment; //number of alocated segments   
   TTree    * fTree;   //!tree with segment objects
-  TBranch  * fBranch; //!total branch 
+  Bool_t   fTreeOwner;// flag determing the ownership of the fTree
+  TBranch  * fBranch; //!total branch
 private: 
   TClass  *   fClass;    //!class type of included objects 
-  ClassDef(AliSegmentArray,1
+  ClassDef(AliSegmentArray,3
 };
 
 
 
-const AliSegmentID*  AliSegmentArray::operator[](Int_t i)
+inline const AliSegmentID*  AliSegmentArray::operator[](Int_t i)
 {
   //
   //return segment with given index
   //
   if ( (i<0) || (i>=fNSegment)) return 0; 
-  return (AliSegmentID *)((*fSegment)[i]);
+  return (AliSegmentID *)(fSegment->At(i));
+  
 }
-const AliSegmentID*  AliSegmentArray::At(Int_t i)
+
+inline const AliSegmentID*  AliSegmentArray::At(Int_t i)
 {
   //
   //return segment with given index
   //
   if ( (i<0) || (i>=fNSegment)) return 0; 
-  return (AliSegmentID *)((*fSegment)[i]);
+  return (AliSegmentID *)(fSegment->At(i));
 }
 
-#endif //ALISEGARRAY_H
+#endif //ALISEGMENTARRAY_H