Analysis Software
Documentation for sPHENIX simulation 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  explicit 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 std::string Name() const { return ThisName; }
20  virtual void Print(const char *what) const;
21  virtual void SetOutDir(const std::string &outdir) { OutDir = outdir; }
22  virtual void SetPrecision(const int digits) { fp_precision = digits; }
24  void NoOutput(const int i = 1) { no_output = i; }
25  void WriteRunEvent(const int i) { write_run_event = i; }
26  void PrintEvtSeq(const int i) { print_evtseq = i; }
27 
28  protected:
29  virtual int process_Node(PHNode *myNode);
30  virtual int OpenOutFile();
31  std::ostream *fout = nullptr;
32 
33  private:
35  int write_run_event = 1; // flag for not writing info for each event
37  int fp_precision = -1;
38  PHNodeDump *myNodeDump = nullptr;
39  int no_output = 0;
40  int print_evtseq = 1;
41 };
42 
43 #endif