ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fun4AllDstOutputManager.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Fun4AllDstOutputManager.h
1 // Tell emacs that this is a C++ source
2 // -*- C++ -*-.
3 #ifndef FUN4ALL_FUN4ALLDSTOUTPUTMANAGER_H
4 #define FUN4ALL_FUN4ALLDSTOUTPUTMANAGER_H
5 
6 #include "Fun4AllOutputManager.h"
7 
8 #include <set>
9 #include <string>
10 
11 class PHNodeIOManager;
12 class PHCompositeNode;
13 
15 {
16  public:
17  Fun4AllDstOutputManager(const std::string &myname = "DSTOUT", const std::string &filename = "dstout.root");
18  ~Fun4AllDstOutputManager() override;
19 
20  int AddNode(const std::string &nodename) override;
21  int AddRunNode(const std::string &nodename) override;
22  int StripNode(const std::string &nodename) override;
23  int StripRunNode(const std::string &nodename) override;
24  void SaveRunNode(const int i) override {m_SaveRunNodeFlag = i;}
25  int outfileopen(const std::string &fname) override;
26 
27  void Print(const std::string &what = "ALL") const override;
28 
29  int Write(PHCompositeNode *startNode) override;
30  int WriteNode(PHCompositeNode *thisNode) override;
31 
32  private:
33  PHNodeIOManager *dstOut = nullptr;
35  std::set<std::string> savenodes;
36  std::set<std::string> saverunnodes;
37  std::set<std::string> stripnodes;
38  std::set<std::string> striprunnodes;
39 };
40 
41 #endif