#include "TObject.h"
#include "TString.h"
+#include "TTree.h"
class TFile;
class TObjArray;
class TTree;
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 {
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;}
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
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)