00001 #ifndef DD_TOBRadCableAlgo_h 00002 #define DD_TOBRadCableAlgo_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 DDTOBRadCableAlgo : public DDAlgorithm { 00011 public: 00012 //Constructor and Destructor 00013 DDTOBRadCableAlgo(); 00014 virtual ~DDTOBRadCableAlgo(); 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 double diskDz; // Disk thickness 00029 double rMax; // Maximum radius 00030 double cableT; // Cable thickness 00031 std::vector<double> rodRin; // Radii for inner rods 00032 std::vector<double> rodRout; // Radii for outer rods 00033 std::vector<std::string> cableM; // Materials for cables 00034 double connW; // Connector width 00035 double connT; // Connector thickness 00036 std::vector<std::string> connM; // Materials for connectors 00037 std::vector<double> coolR1; // Radii for cooling manifold 00038 std::vector<double> coolR2; // Radii for return cooling manifold 00039 double coolRin; // Inner radius of cooling manifold 00040 double coolRout1; // Outer radius of cooling manifold 00041 double coolRout2; // Outer radius of cooling fluid in cooling manifold 00042 double coolStartPhi1; // Starting Phi of cooling manifold 00043 double coolDeltaPhi1; // Phi Range of cooling manifold 00044 double coolStartPhi2; // Starting Phi of cooling fluid in of cooling manifold 00045 double coolDeltaPhi2; // Phi Range of of cooling fluid in cooling manifold 00046 std::string coolM1; // Material for cooling manifold 00047 std::string coolM2; // Material for cooling fluid 00048 std::vector<std::string> names; // Names of layers 00049 }; 00050 00051 #endif