![]() |
![]() |
00001 #ifndef DD_PixBarStackLinearGap_h 00002 #define DD_PixBarStackLinearGap_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 DDPixBarStackLinearGap : public DDAlgorithm { 00011 public: 00012 //Constructor and Destructor 00013 DDPixBarStackLinearGap(); 00014 virtual ~DDPixBarStackLinearGap(); 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 childName; //Child name 00028 int number; //Number of positioning 00029 int ringmodules; //Number of modules in the rings at each end of layer 00030 double theta; //Direction of translation 00031 double phi; // ...... 00032 double offset; //Offset along (theta,phi) direction 00033 double delta; //Increment ................ 00034 std::vector<double> centre; //Centre 00035 std::string rotMat; //Rotation matrix 00036 double zoffset; //Offset of modules in y 00037 double stackoffset; //Offset of modules to compensate for eta 00038 int stackoffsetT;//Period of offset of modules to compensate for eta 00039 }; 00040 00041 #endif