GSI Object Oriented Online Offline (Go4)  GO4-6.3.0
TGo4HDF5Source.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 TGO4HDF5SOURCE_H
15 #define TGO4HDF5SOURCE_H
16 
17 #include "TGo4EventSource.h"
18 #include "TGo4HDF5Adapter.h"
19 
20 #include "TString.h"
21 
22 class TFile;
23 class TList;
25 class TGo4EventElement;
26 
35 
36  friend class TGo4HDF5DataHandle;
38 
39  public:
40 
42 
44 
45  TGo4HDF5Source(const char *name);
46 
47  virtual ~TGo4HDF5Source();
48 
52  Bool_t BuildEvent(TGo4EventElement *dest) override;
53 
54  static TList *ProducesFilesList(const char *mask);
55 
56  protected:
57 
59  void OpenFile(const char *fname) override;
60 
62  void BuildDataSet(TGo4EventElement *event) override;
63 
65  void DeleteDataSet() override;
66 
67  private:
68 
70  Char_t *fxReadBuffer{nullptr};
71 
73  size_t fiReadOffset{0};
74 
76  TList *fxFilesNames{nullptr};
77 
80 
82  Bool_t OpenNextFile();
83 
85  Bool_t CloseCurrentFile();
86 
87  ClassDefOverride(TGo4HDF5Source,2)
88 };
89 
90 #endif //TGO4HDF5SOURCE_H
Bool_t BuildEvent(TGo4EventElement *dest) override
void OpenFile(const char *fname) override
TString fxCurrentFileName
void BuildDataSet(TGo4EventElement *event) override
void DeleteDataSet() override
Bool_t CloseCurrentFile()
TList * fxFilesNames
virtual ~TGo4HDF5Source()
static TList * ProducesFilesList(const char *mask)
Char_t * fxReadBuffer