]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/TTreeStream.h
Removing the hard-wired particle masses (B. Hippolyte)
[u/mrichter/AliRoot.git] / STEER / TTreeStream.h
index c5c301ff0edfa913d81113604c2b5bd09cb8a420..a5060a0d701caa06b6eab0567ce8743dac5ea51a 100644 (file)
@@ -6,6 +6,7 @@
 
 #include "TObject.h"
 #include "TString.h"
+#include "TTree.h"
 class TFile;
 class TObjArray;
 class TTree;
@@ -20,12 +21,15 @@ class TTreeDataElement: public TNamed {
   void   SetPointer(void* pointer) {fPointer=pointer;} 
   Char_t GetType() const {return fType;}
  protected:
-  TString fName;    // name of the data element
+
+  TTreeDataElement(const TTreeDataElement & tde);
+  TTreeDataElement & operator=(const TTreeDataElement & tde);
+
   Char_t  fType;     // type of data element
   TDataType *fDType; //data type pointer 
   TClass    *fClass; //data type pointer
   void * fPointer;  // pointer to element
-  ClassDef(TTreeDataElement,1)
+  ClassDef(TTreeDataElement,2)
 };
 
 class TTreeStream: public TNamed {
@@ -40,6 +44,7 @@ public:
   Int_t CheckIn(TObject *o);
   void BuildTree();
   void Fill();
+  Double_t GetSize(){ return fTree->GetZipBytes();}
   TTreeStream& Endl();
   //
   TTreeStream  &operator<<(Bool_t   &b){CheckIn('B',&b);return *this;}
@@ -56,9 +61,13 @@ public:
   TTreeStream  &operator<<(Float_t   &f){CheckIn('F',&f);return *this;}
   TTreeStream  &operator<<(Double_t  &d){CheckIn('D',&d);return *this;}
   TTreeStream  &operator<<(TObject*o){CheckIn(o);return *this;} 
-  TTreeStream  &operator<<(Char_t *name);
+  TTreeStream  &operator<<(const Char_t *name);
  protected:
   //
+
+  TTreeStream(const TTreeStream & ts);
+  TTreeStream & operator=(const TTreeStream & ts);
+
   TObjArray *fElements; //array of elements
   TObjArray *fBranches; //pointers to branches
   TTree *fTree;         //data storage
@@ -75,12 +84,18 @@ public:
 class TTreeSRedirector: public TObject { 
 public:
   TTreeSRedirector(const char *fname);
-  ~TTreeSRedirector();
+  virtual ~TTreeSRedirector();
   void Close();
   static void Test();
+  void StoreObject(TObject* object);
+  TFile * GetFile() {return fFile;};
   virtual   TTreeStream  &operator<<(Int_t id);
   virtual   TTreeStream  &operator<<(const char *name);
  private:
+
+  TTreeSRedirector(const TTreeSRedirector & tsr);
+  TTreeSRedirector & operator=(const TTreeSRedirector & tsr);
+
   TFile* fFile;        //file
   TObjArray *fDataLayouts;   //array of data layouts
   ClassDef(TTreeSRedirector,1)