Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fun4AllRolloverFileOutStream.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Fun4AllRolloverFileOutStream.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef FUN4ALLRAW_FUN4ALLROLLOVERFILEOUTSTREAM_H
4 #define FUN4ALLRAW_FUN4ALLROLLOVERFILEOUTSTREAM_H
5 
6 #include "Fun4AllFileOutStream.h"
7 
8 #include <iostream> // for cout, ostream
9 #include <string> // for string
10 
11 class Event;
12 
14 {
15  public:
16  Fun4AllRolloverFileOutStream(const std::string &frule = "OUTDATA-%010d-%04d.PRDFF",
17  const unsigned int nEvents = 0,
18  const unsigned int sizeInMB = 0,
19  const int offset = 0,
20  const int increment = 1,
21  const std::string &name = "Fun4AllRolloverFileOutStream");
22 
23  virtual ~Fun4AllRolloverFileOutStream()=default;
24  int WriteEventOut(Event *evt) override;
25  void identify(std::ostream &os = std::cout) const;
26 
27  private:
28  void open_new_file();
29  uint64_t m_MaxFileFize {0};
30  unsigned int m_MaxNEvents {0};
32  int m_Offset {0};
33  int m_Increment {1};
34 };
35 
36 #endif /* FUN4ALLRAW_FUN4ALLROLLOVERFILEOUTSTREAM_H */