EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DumpObject.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file DumpObject.h
1 #ifndef NODEDUMP_DUMPOBJECT_H
2 #define NODEDUMP_DUMPOBJECT_H
3 
4 #include <iosfwd>
5 #include <string>
6 
7 class PHNode;
8 class PHNodeDump;
9 
11 {
12  public:
13  DumpObject(const std::string &NodeName = "DUMMY");
14  virtual ~DumpObject() {}
15 
16  virtual int Init(); // called during intialization
17  virtual int process_event(PHNode *mynode);
18  virtual int CloseOutputFile();
19  virtual const char *Name() const
20  {
21  return ThisName.c_str();
22  }
23  virtual void Print(const char *what) const;
24  virtual void SetOutDir(const std::string &outdir) { OutDir = outdir; }
25  virtual void SetPrecision(const int digits) { fp_precision = digits; }
27  void NoOutput(const int i = 1) { no_output = i; }
28  void WriteRunEvent(int i) { write_run_event = i; }
29 
30  protected:
31  virtual int process_Node(PHNode *myNode);
32  virtual int OpenOutFile();
33  std::ostream *fout;
34 
35  private:
36  std::string ThisName;
37  int write_run_event; // flag for not writing info for each event
38  std::string OutDir;
41  int no_output;
42 };
43 
44 #endif