00001 #ifndef DD_DDALGORITHMHANDLER_H 00002 #define DD_DDALGORITHMHANDLER_H 00003 00004 #include <string> 00005 #include "DetectorDescription/Algorithm/interface/DDAlgorithm.h" 00006 #include "DetectorDescription/Base/interface/DDException.h" 00007 00009 00010 class DDAlgorithmHandler 00011 { 00012 public: 00014 00016 DDAlgorithmHandler(); 00017 00018 virtual ~DDAlgorithmHandler(); 00019 00021 00023 void initialize(const std::string & algoName, 00024 const DDLogicalPart & parent, 00025 const DDNumericArguments & nArgs, 00026 const DDVectorArguments & vArgs, 00027 const DDMapArguments & mArgs, 00028 const DDStringArguments & sArgs, 00029 const DDStringVectorArguments & svArgs) throw (DDException); 00030 00032 void execute( DDCompactView& ) throw (DDException); 00033 00034 00035 private: 00036 DDAlgorithm * algo_; 00037 std::string algoname_; 00038 DDLogicalPart parent_; 00039 }; 00040 00041 #endif // DD_DDALGORITHMHANDLER_H