00001 #ifndef DD_TECPhiAlgo_h 00002 #define DD_TECPhiAlgo_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 DDTECPhiAlgo : public DDAlgorithm { 00011 00012 public: 00013 //Constructor and Destructor 00014 DDTECPhiAlgo(); 00015 virtual ~DDTECPhiAlgo(); 00016 00017 void initialize(const DDNumericArguments & nArgs, 00018 const DDVectorArguments & vArgs, 00019 const DDMapArguments & mArgs, 00020 const DDStringArguments & sArgs, 00021 const DDStringVectorArguments & vsArgs); 00022 00023 void execute(DDCompactView& cpv); 00024 00025 private: 00026 00027 double startAngle; //Start angle 00028 double incrAngle; //Increment in angle 00029 double zIn; //z position for the even ones 00030 double zOut; //z position for the odd ones 00031 int number; //Number of copies 00032 int startCopyNo; //Start copy number 00033 int incrCopyNo; //Increment in copy number 00034 00035 std::string idNameSpace; //Namespace of this and ALL sub-parts 00036 std::string childName; //Child name 00037 }; 00038 00039 #endif