00001 #ifndef DD_PixBarLayerAlgo_h 00002 #define DD_PixBarLayerAlgo_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 DDPixBarLayerAlgo : public DDAlgorithm { 00011 public: 00012 //Constructor and Destructor 00013 DDPixBarLayerAlgo(); 00014 virtual ~DDPixBarLayerAlgo(); 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 std::string genMat; //Name of general material 00028 int number; //Number of ladders in phi 00029 double layerDz; //Length of the layer 00030 double sensorEdge; //Distance from edge for a half sensor 00031 double coolDz; //Length of the cooling piece 00032 double coolWidth; //Width 00033 double coolSide; //Side length 00034 double coolThick; //Thickness of the shell 00035 double coolDist; //Radial distance between centres of 2 00036 std::string coolMat; //Cooling fluid material name 00037 std::string tubeMat; //Cooling piece material name 00038 std::vector<std::string> ladder; //Names of ladders 00039 std::vector<double> ladderWidth; //Widths ... 00040 std::vector<double> ladderThick; //Thickness ... 00041 }; 00042 00043 #endif