File indexing completed on 2025-08-06 08:17:57
0001 #ifndef NODEDUMP_PHNODEDUMP_H
0002 #define NODEDUMP_PHNODEDUMP_H
0003
0004 #include <phool/PHNodeOperation.h>
0005
0006 #include <map>
0007 #include <set>
0008 #include <string>
0009
0010 class PHNode;
0011 class DumpObject;
0012 class PHCompositeNode;
0013
0014 class PHNodeDump : public PHNodeOperation
0015 {
0016 public:
0017 PHNodeDump() {}
0018 ~PHNodeDump() override;
0019 int CloseOutputFiles();
0020 int GetGlobalVars(PHCompositeNode *topNode);
0021
0022 int RunNumber() { return runnumber; }
0023 int EvtSequence() { return evtsequence; }
0024
0025 int AddIgnore(const std::string &name);
0026 int Select(const std::string &name);
0027 void SetOutDir(const std::string &dirname) { outdir = dirname; }
0028 void SetPrecision(const int digits) { fp_precision = digits; }
0029 void PrintEvtSeq(const int i) { print_evtseq = i; }
0030
0031 private:
0032 void perform(PHNode *) override;
0033 int AddDumpObject(const std::string &NodeName, PHNode *node);
0034 int initdump(const std::string &newnode, DumpObject *dmp);
0035 std::map<std::string, DumpObject *> dumpthis;
0036 std::set<std::string> ignore;
0037 std::set<std::string> exclusive;
0038 int runnumber = 0;
0039 int evtsequence = -9999;
0040 int fp_precision = -1;
0041 std::string outdir = "./";
0042 int print_evtseq = 1;
0043 };
0044
0045 #endif