Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:18:24

0001 #ifndef G4EVAL_CALOEVALSTACK_H
0002 #define G4EVAL_CALOEVALSTACK_H
0003 
0004 #include "CaloRawClusterEval.h"
0005 #include "CaloTruthEval.h"
0006 
0007 #include <string>
0008 
0009 class CaloRawTowerEval;
0010 class PHCompositeNode;
0011 
0012 // This user class provides pointers to the
0013 // full set of calorimeter evaluators and
0014 // protects the user from future introduction
0015 // of new eval heirachies (new eval objects can
0016 // be introduced without rewrites)
0017 
0018 class CaloEvalStack
0019 {
0020  public:
0021   CaloEvalStack(PHCompositeNode* topNode, const std::string& caloname);
0022   virtual ~CaloEvalStack() {}
0023 
0024   int get_caloid() { return get_truth_eval()->get_caloid(); }
0025   void next_event(PHCompositeNode* topNode);
0026   void do_caching(bool do_cache) { _clustereval.do_caching(do_cache); }
0027   void set_strict(bool strict) { _clustereval.set_strict(strict); }
0028   void set_verbosity(int verbosity) { _clustereval.set_verbosity(verbosity); }
0029 
0030   CaloRawClusterEval* get_rawcluster_eval() { return &_clustereval; }
0031   CaloRawTowerEval* get_rawtower_eval() { return _clustereval.get_rawtower_eval(); }
0032   CaloTruthEval* get_truth_eval() { return _clustereval.get_truth_eval(); }
0033 
0034   unsigned int get_errors() { return _clustereval.get_errors(); }
0035 
0036  private:
0037   CaloRawClusterEval _clustereval;  // right now this is the top-level eval, other evals nest underneath
0038 };
0039 
0040 #endif  // G4EVAL_CALOEVALSTACK_H