00001 //------------------------------------------------------------- 00002 // Go4 Release Package v3.04-01 (build 30401) 00003 // 28-November-2008 00004 //--------------------------------------------------------------- 00005 // The GSI Online Offline Object Oriented (Go4) Project 00006 // Experiment Data Processing at EE 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 "TGo4MbsSource.h" 00020 00021 class TGo4MbsFileParameter; 00022 00031 class TGo4MbsFile : public TGo4MbsSource { 00032 public: 00033 00034 TGo4MbsFile(const char* name); 00035 00036 TGo4MbsFile(); 00037 00038 TGo4MbsFile(TGo4MbsFileParameter* par); 00039 00040 ~TGo4MbsFile(); 00041 00043 virtual Int_t Close(); 00044 00046 virtual Int_t Open(); 00047 00049 virtual Int_t NextEvent(); 00050 00052 const char* GetTagName() const { return fxTagFile.Data(); } 00053 00054 const char* GetCurrentTagName() const { return fxCurrentTag.Data(); } 00055 00056 const char* GetCurrentFileName() const { return fxCurrentFile.Data(); } 00057 00059 virtual const char* GetActiveName(); 00060 00062 static const Text_t fgcNOTAGFILE[]; 00063 00065 static const Text_t fgcWILDFILE[]; 00066 00068 static const Text_t fgcLMDSUF[]; 00069 00071 static const Text_t fgcFILELISTSUF[]; 00072 00073 Bool_t fbFirstEvent; 00074 00075 private: 00076 00078 Int_t NextFile(); 00079 00081 Int_t OpenFile(); 00082 00084 Int_t CloseFile(); 00085 00089 Int_t NewFileAction(Bool_t dosave=kTRUE); 00090 00092 TString fxTagFile; 00093 00095 TString fxCurrentFile; 00096 00098 TString fxCurrentTag; 00099 00101 TString fxMultiName; 00102 00104 Bool_t fbMultipleMode; 00105 00107 Bool_t fbWildcardMode; 00108 00111 std::ifstream* fxMultiFile; 00112 00114 Bool_t fbFileOpen; 00115 00116 ClassDef(TGo4MbsFile,1) 00117 }; 00118 00119 #endif //TGO4MBSFILE_H 00120 00121 //----------------------------END OF GO4 SOURCE FILE ---------------------