00001 // $Id: TGo4TreeStore.h 478 2009-10-29 12:26:09Z linev $ 00002 //----------------------------------------------------------------------- 00003 // The GSI Online Offline Object Oriented (Go4) Project 00004 // Experiment Data Processing at EE department, GSI 00005 //----------------------------------------------------------------------- 00006 // Copyright (C) 2000- GSI Helmholtzzentrum für Schwerionenforschung GmbH 00007 // Planckstr. 1, 64291 Darmstadt, Germany 00008 // Contact: http://go4.gsi.de 00009 //----------------------------------------------------------------------- 00010 // This software can be used under the license agreements as stated 00011 // in Go4License.txt file which is part of the distribution. 00012 //----------------------------------------------------------------------- 00013 00014 #ifndef TGO4TREESTORE_H 00015 #define TGO4TREESTORE_H 00016 00017 #include "TGo4EventStore.h" 00018 00019 class TFile; 00020 class TTree; 00021 class TBranch; 00022 class TGo4MainTree; 00023 class TGo4EventElement; 00024 class TGo4Parameter; 00025 class TGo4EventCalibration; 00026 class TGo4TreeStoreParameter; 00027 00039 class TGo4TreeStore : public TGo4EventStore { 00040 public: 00041 00042 TGo4TreeStore(const char* name, 00043 TGo4EventElement* event, 00044 Int_t splitlevel=1, 00045 Int_t bufsize=64000, 00046 const char* filename=0, 00047 Int_t compression=5); 00048 00049 TGo4TreeStore(); 00050 00051 TGo4TreeStore(TGo4TreeStoreParameter* par, TGo4EventElement* event); 00052 00053 virtual ~TGo4TreeStore(); 00054 00057 virtual Int_t Store(TGo4EventElement* event); 00058 00060 void SetCompression(Int_t comp); 00061 00064 virtual Int_t Store(TGo4Parameter* cali); 00065 00067 static const char* fgcFILESUF; 00068 00069 private: 00070 00073 TFile* fxFile; 00074 00078 TGo4MainTree* fxSingletonTree; 00079 00081 TTree * fxTree; 00082 00084 TBranch * fxBranch; 00085 00087 TGo4EventElement * fxEvent; 00088 00090 TGo4EventCalibration * fxCalibration; 00091 00093 TString fcEventClass; 00094 00096 Int_t fiSplit; 00097 00099 Int_t fiBufsize; 00100 00101 ClassDef(TGo4TreeStore,1) 00102 }; 00103 00104 #endif //TGO4TREESTORE_H