Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

/Go4EventServer/TGo4FileStore.h

Go to the documentation of this file.
00001 //---------------------------------------------------------------
00002 //        Go4 Release Package v2.10-5 (build 21005) 
00003 //                      03-Nov-2005
00004 //---------------------------------------------------------------
00005 //       The GSI Online Offline Object Oriented (Go4) Project
00006 //       Experiment Data Processing at DVEE department, GSI
00007 //---------------------------------------------------------------
00008 //
00009 //Copyright (C) 2000- Gesellschaft f. Schwerionenforschung, GSI
00010 //                    Planckstr. 1, 64291 Darmstadt, Germany
00011 //Contact:            http://go4.gsi.de
00012 //----------------------------------------------------------------
00013 //This software can be used under the license agreements as stated
00014 //in Go4License.txt file which is part of the distribution.
00015 //----------------------------------------------------------------
00016 #ifndef TGO4FILESTORE_H
00017 #define TGO4FILESTORE_H
00018 
00019 #include "Go4Event/TGo4EventStore.h"
00020 
00021 #include "TFile.h"
00022 #include "TTree.h"
00023 
00024 #include "Go4EventServer/TGo4FileStoreParameter.h"
00025 
00026 
00027 class TGo4EventCalibration;
00028 
00029 class TGo4EventElement;
00030 
00041 class TGo4FileStore : public TGo4EventStore {
00042   public:
00043  
00044     TGo4FileStore();
00045 
00046     TGo4FileStore(const char* name,
00047                   Int_t splitlevel=1,
00048                   Int_t compression=1,
00049                   Bool_t overwrite=kFALSE,
00050                   Int_t autosavesize=10000000,
00051                   Int_t bufsize=64000);
00052 
00053     TGo4FileStore(TGo4FileStoreParameter* par);
00054 
00055     virtual ~TGo4FileStore();
00056 
00059     virtual Int_t Store(TGo4EventElement* event);
00060 
00062     virtual Int_t Store(TGo4Parameter* cali);
00063 
00065     virtual Int_t Store(TGo4Condition* conny);
00066 
00068     virtual Int_t Store(TGo4Fitter* fitter);
00069 
00071     virtual Int_t Store(TFolder* fold);
00072 
00074     void SetCompression(Int_t comp);
00075 
00077     void SetAutoSave(Int_t bytesinterval);
00078 
00081     static const Text_t fgcEVBRANCHNAME[]; 
00082 
00084     static const Text_t fgcFILESUF[]; 
00085 
00087     static const Text_t fgcTREESUF[]; 
00088 
00090     static const Int_t fgiFILESPLITSIZE;
00091 
00093     TTree* GetTree() { return fxTree; }
00094 
00095   private:
00096 
00098     void WriteToStore(TNamed* ob);
00099 
00100     TFile* fxFile; 
00101 
00102     TTree * fxTree; 
00103 
00106     Bool_t fbBranchExists;
00107 
00109     TGo4EventElement * fxEvent; 
00110 
00112     Int_t fiSplit;
00113 
00115     Int_t fiBufsize;
00116 
00118     Int_t fiFillCount;
00119 
00120   ClassDef(TGo4FileStore,1)
00121 };
00122 
00123 #endif //TGO4FILESTORE_H
00124 
00125 //----------------------------END OF GO4 SOURCE FILE ---------------------

Generated on Tue Nov 8 10:55:53 2005 for Go4-v2.10-5 by doxygen1.2.15