00001 #ifndef DD_TOBAxCableAlgo_h 00002 #define DD_TOBAxCableAlgo_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 DDTOBAxCableAlgo : public DDAlgorithm { 00011 public: 00012 //Constructor and Destructor 00013 DDTOBAxCableAlgo(); 00014 virtual ~DDTOBAxCableAlgo(); 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 idNameSpace; // Namespace of this and ALL sub-parts 00027 00028 std::vector<std::string> sectorNumber; // Id. Number of the sectors 00029 00030 double sectorRin; // Inner radius of service sectors 00031 double sectorRout; // Outer radius of service sectors 00032 double sectorDz; // Sector half-length 00033 double sectorDeltaPhi_B; // Sector B phi width [A=C=0.5*(360/sectors)] 00034 std::vector<double> sectorStartPhi; // Starting phi for the service sectors 00035 std::vector<std::string> sectorMaterial_A; // Material for the A sectors 00036 std::vector<std::string> sectorMaterial_B; // Material for the B sectors 00037 std::vector<std::string> sectorMaterial_C; // Material for the C sectors 00038 00039 }; 00040 00041 #endif