ECCE @ EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHG4DstCompressReco.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file PHG4DstCompressReco.h
1 #ifndef G4EVAL_PHG4DSTCOMPRESSRECO_H
2 #define G4EVAL_PHG4DSTCOMPRESSRECO_H
3 
4 #include <fun4all/SubsysReco.h>
5 
6 #include <set>
7 #include <string>
8 
9 class PHCompositeNode;
10 
11 class PHG4CellContainer;
12 class PHG4HitContainer;
14 
15 class RawTowerContainer;
16 
18 {
19  public:
20  PHG4DstCompressReco(const std::string &name = "PHG4DstCompressReco");
21  ~PHG4DstCompressReco() override {}
22 
24  int InitRun(PHCompositeNode *topNode) override;
25 
27  int process_event(PHCompositeNode *topNode) override;
28 
29  void AddHitContainer(const std::string &name) { _compress_g4hit_names.insert(name); }
30  void AddCellContainer(const std::string &name) { _compress_g4cell_names.insert(name); }
31  void AddTowerContainer(const std::string &name) { _compress_tower_names.insert(name); }
32 
33  private:
34  void SearchG4HitNodes(PHCompositeNode *topNode);
35 
37  std::set<std::string> _compress_g4hit_names;
38  std::set<std::string> _compress_g4cell_names;
39  std::set<std::string> _compress_tower_names;
40 
41  std::set<PHG4CellContainer *> _g4cells;
42  std::set<PHG4HitContainer *> _g4hits;
43  std::set<PHG4HitContainer *> _keep_g4hits;
44 
45  std::set<RawTowerContainer *> _towers;
46 };
47 
48 #endif