00001 #ifndef HcalAlgo_DDHCalForwardAlgo_h 00002 #define HcalAlgo_DDHCalForwardAlgo_h 00003 00004 #include <map> 00005 #include <string> 00006 #include <vector> 00007 #include "DetectorDescription/Base/interface/DDTypes.h" 00008 #include "DetectorDescription/Algorithm/interface/DDAlgorithm.h" 00009 00010 class DDHCalForwardAlgo : public DDAlgorithm { 00011 public: 00012 //Constructor and Destructor 00013 DDHCalForwardAlgo(); //const std::string & name); 00014 virtual ~DDHCalForwardAlgo(); 00015 00016 void initialize(const DDNumericArguments & nArgs, 00017 const DDVectorArguments & vArgs, 00018 const DDMapArguments & mArgs, 00019 const DDStringArguments & sArgs, 00020 const DDStringVectorArguments & vsArgs); 00021 00022 void execute(DDCompactView& cpv); 00023 00024 private: 00025 00026 std::string cellMat; //Cell material 00027 double cellDx, cellDy, cellDz; //Cell size 00028 double startY; //Starting Y for Cell 00029 std::vector<std::string> childName; //Children name 00030 std::vector<int> number; //Number of cells 00031 std::vector<int> size; //Number of children 00032 std::vector<int> type; //First child 00033 00034 std::string idNameSpace; //Namespace for aLL sub-parts 00035 }; 00036 00037 #endif