Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
InputFileHandler.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file InputFileHandler.h
1 #ifndef INPUTFILEHANDLER_H
2 #define INPUTFILEHANDLER_H
3 
4 #include <list>
5 #include <string>
6 
8 {
9  public:
10  InputFileHandler() = default;
11  virtual ~InputFileHandler() = default;
12  virtual int fileopen(const std::string & /*filename*/) { return 0; }
13  virtual int fileclose() { return -1; }
14  int OpenNextFile();
15  int AddListFile(const std::string &filename);
16  int AddFile(const std::string &filename);
17  void AddToFileOpened(const std::string &filename) { m_FileListOpened.push_back(filename); }
18  void Print(const std::string &what = "ALL") const;
19  int IsOpen() const { return m_IsOpen; }
20  void IsOpen(const int i) { m_IsOpen = i; }
21  void SetVerbosity(const int i) { m_Verbosity = i; }
22  int GetVerbosity() const { return m_Verbosity; }
23  void UpdateFileList();
24  void FileName(const std::string &fn) { m_FileName = fn; }
25  const std::string FileName() const { return m_FileName; }
26 
27  private:
28  int m_IsOpen = 0;
29  int m_Repeat = 0;
30  int m_Verbosity = 0;
32  std::list<std::string> m_FileList;
33  std::list<std::string> m_FileListCopy;
34  std::list<std::string> m_FileListOpened; // all files which were opened during running
35 };
36 
37 #endif