00001 // $Id: TGo4MbsFile.h 827 2011-12-19 17:46:06Z 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 TGO4MBSFILE_H 00015 #define TGO4MBSFILE_H 00016 00017 #include "TGo4MbsSource.h" 00018 00019 class TGo4MbsFileParameter; 00020 class TList; 00021 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 char* fgcNOTAGFILE; 00063 00065 static const char* fgcLMDSUF; 00066 00068 static const char* fgcFILELISTSUF; 00069 00070 private: 00071 00072 void AddFileName(const char* name, const char* tagname = 0, bool isonly = kFALSE); 00073 00075 Int_t NextFile(); 00076 00078 Int_t OpenFile(); 00079 00081 Int_t CloseFile(); 00082 00086 Int_t NewFileAction(Bool_t dosave=kTRUE); 00087 00089 TString fxTagFile; 00090 00092 TString fxCurrentFile; 00093 00095 TString fxCurrentTag; 00096 00099 TList* fxMultiFile; 00100 00102 Bool_t fbFileOpen; 00103 00105 Bool_t fbShowInfo; 00106 00107 ClassDef(TGo4MbsFile, 3) 00108 }; 00109 00110 #endif //TGO4MBSFILE_H