GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4MbsFile.h
Go to the documentation of this file.
1 // $Id$
2 //-----------------------------------------------------------------------
3 // The GSI Online Offline Object Oriented (Go4) Project
4 // Experiment Data Processing at EE department, GSI
5 //-----------------------------------------------------------------------
6 // Copyright (C) 2000- GSI Helmholtzzentrum fuer Schwerionenforschung GmbH
7 // Planckstr. 1, 64291 Darmstadt, Germany
8 // Contact: http://go4.gsi.de
9 //-----------------------------------------------------------------------
10 // This software can be used under the license agreements as stated
11 // in Go4License.txt file which is part of the distribution.
12 //-----------------------------------------------------------------------
13 
14 #ifndef TGO4MBSFILE_H
15 #define TGO4MBSFILE_H
16 
17 #include "TGo4MbsSource.h"
18 
20 class TList;
21 
30 class TGo4MbsFile : public TGo4MbsSource {
31  public:
32 
33  TGo4MbsFile(const char *name);
34 
35  TGo4MbsFile();
36 
38 
39  ~TGo4MbsFile();
40 
42  Int_t Close() override;
43 
45  Int_t Open() override;
46 
48  Int_t NextEvent() override;
49 
51  const char *GetTagName() const { return fxTagFile.Data(); }
52 
53  const char *GetCurrentTagName() const { return fxCurrentTag.Data(); }
54 
55  const char *GetCurrentFileName() const { return fxCurrentFile.Data(); }
56 
58  const char *GetActiveName() const override;
59 
61  static const char *fgcNOTAGFILE;
62 
64  static const char *fgcLMDSUF;
65 
67  static const char *fgcFILELISTSUF;
68 
69  private:
70 
71  void AddFileName(const char *name, const char *tagname = nullptr, bool isonly = kFALSE);
72 
74  Int_t NextFile();
75 
77  Int_t OpenFile();
78 
80  Int_t CloseFile();
81 
85  Int_t NewFileAction(Bool_t dosave=kTRUE);
86 
88  TString fxTagFile;
89 
91  TString fxCurrentFile;
92 
94  TString fxCurrentTag;
95 
98  TList *fxMultiFile{nullptr};
99 
101  Bool_t fbFileOpen{kFALSE};
102 
104  Bool_t fbShowInfo{kFALSE};
105 
106  ClassDefOverride(TGo4MbsFile, 3)
107 };
108 
109 #endif //TGO4MBSFILE_H
static const char * fgcLMDSUF
Definition: TGo4MbsFile.h:64
const char * GetCurrentFileName() const
Definition: TGo4MbsFile.h:55
const char * GetTagName() const
Definition: TGo4MbsFile.h:51
Int_t NextFile()
TString fxTagFile
Definition: TGo4MbsFile.h:88
Int_t CloseFile()
static const char * fgcNOTAGFILE
Definition: TGo4MbsFile.h:61
Int_t Close() override
Int_t OpenFile()
TString fxCurrentTag
Definition: TGo4MbsFile.h:94
Bool_t fbShowInfo
Definition: TGo4MbsFile.h:104
Bool_t fbFileOpen
Definition: TGo4MbsFile.h:101
TString fxCurrentFile
Definition: TGo4MbsFile.h:91
const char * GetCurrentTagName() const
Definition: TGo4MbsFile.h:53
void AddFileName(const char *name, const char *tagname=nullptr, bool isonly=kFALSE)
Int_t NextEvent() override
Int_t Open() override
const char * GetActiveName() const override
Int_t NewFileAction(Bool_t dosave=kTRUE)
static const char * fgcFILELISTSUF
Definition: TGo4MbsFile.h:67
TList * fxMultiFile
Definition: TGo4MbsFile.h:98