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 TGO4MBSFILE_H 00017 #define TGO4MBSFILE_H 00018 00019 #include "Go4EventServer/TGo4MbsSource.h" 00020 00021 #include "Go4Event/TGo4EventSource.h" 00022 #include "Go4EventServer/TGo4MbsFileParameter.h" 00023 00032 class TGo4MbsFile : public TGo4MbsSource { 00033 public: 00034 00035 TGo4MbsFile(const char* name); 00036 00037 TGo4MbsFile(); 00038 00039 TGo4MbsFile(TGo4MbsFileParameter* par); 00040 00041 ~TGo4MbsFile(); 00042 00044 virtual Int_t Close(); 00045 00047 virtual Int_t Open(); 00048 00050 virtual Int_t NextEvent(); 00051 00053 const char* GetTagName() const { return fxTagFile.Data(); } 00054 00055 const char* GetCurrentTagName() const { return fxCurrentTag.Data(); } 00056 00057 const char* GetCurrentFileName() const { return fxCurrentFile.Data(); } 00058 00060 static const Text_t fgcNOTAGFILE[]; 00061 00063 static const Text_t fgcWILDFILE[]; 00064 00066 static const Text_t fgcLMDSUF[]; 00067 00069 static const Text_t fgcFILELISTSUF[]; 00070 00071 Bool_t fbFirstEvent; 00072 00073 private: 00074 00076 Int_t NextFile(); 00077 00079 Int_t OpenFile(); 00080 00082 Int_t CloseFile(); 00083 00087 Int_t NewFileAction(Bool_t dosave=kTRUE); 00088 00090 TString fxTagFile; 00091 00093 TString fxCurrentFile; 00094 00096 TString fxCurrentTag; 00097 00099 TString fxMultiName; 00100 00102 Bool_t fbMultipleMode; 00103 00105 Bool_t fbWildcardMode; 00106 00109 std::ifstream* fxMultiFile; 00110 00112 Bool_t fbFileOpen; 00113 00114 ClassDef(TGo4MbsFile,1) 00115 }; 00116 00117 #endif //TGO4MBSFILE_H 00118 00119 //----------------------------END OF GO4 SOURCE FILE ---------------------