00001 #ifndef ExprEvalSingleton_h 00002 #define ExprEvalSingleton_h 00003 00004 #include "DetectorDescription/Base/interface/Singleton.h" 00005 00007 // Choose the Evaluator here: 00008 // The concrete evaluator must be a subclass of class ExprEvalInterface, which 00009 // defines the interface (which can be used to write Evaluator-implementation- 00010 // independent code ! 00011 #include "DetectorDescription/ExprAlgo/interface/ClhepEvaluator.h" 00012 typedef ClhepEvaluator UseThisEvaluator; 00014 00015 00016 // full name compatible with the header file name 00017 typedef DDI::Singleton<UseThisEvaluator> ExprEvalSingleton; 00018 00019 // short name 00020 typedef DDI::Singleton<UseThisEvaluator> ExprEval; 00021 00022 00024 // usage: 00025 // 00026 // DDExprEvaluator & eval_sgtn = DDExpreEvalSingleton::instance(); 00027 // eval_sgtn.set(...) ; and so on ... 00028 // 00029 // the same singleton can be addressed using: 00030 // DDExprEval::instance() 00031 // 00033 #endif