EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CaloEvalStack.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file CaloEvalStack.h
1 #ifndef G4EVAL_CALOEVALSTACK_H
2 #define G4EVAL_CALOEVALSTACK_H
3 
4 #include "CaloRawClusterEval.h"
5 #include "CaloTruthEval.h"
6 
7 #include <string>
8 
9 class CaloRawTowerEval;
10 class PHCompositeNode;
11 
12 // This user class provides pointers to the
13 // full set of calorimeter evaluators and
14 // protects the user from future introduction
15 // of new eval heirachies (new eval objects can
16 // be introduced without rewrites)
17 
19 {
20  public:
21  CaloEvalStack(PHCompositeNode* topNode, const std::string& caloname);
22  virtual ~CaloEvalStack() {}
23 
24  int get_caloid() { return get_truth_eval()->get_caloid(); }
25  void next_event(PHCompositeNode* topNode);
26  void do_caching(bool do_cache) { _clustereval.do_caching(do_cache); }
27  void set_strict(bool strict) { _clustereval.set_strict(strict); }
28  void set_verbosity(int verbosity) { _clustereval.set_verbosity(verbosity); }
29 
33 
34  unsigned int get_errors() { return _clustereval.get_errors(); }
35 
36  private:
37  CaloRawClusterEval _clustereval; // right now this is the top-level eval, other evals nest underneath
38 };
39 
40 #endif // G4EVAL_CALOEVALSTACK_H