CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10_patch2/src/Geometry/TrackerCommonData/plugins/DDTIDModulePosAlgo.h

Go to the documentation of this file.
00001 #ifndef DD_TIDModulePosAlgo_h
00002 #define DD_TIDModulePosAlgo_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 DDTIDModulePosAlgo : public DDAlgorithm {
00011  public:
00012   //Constructor and Destructor
00013   DDTIDModulePosAlgo(); 
00014   virtual ~DDTIDModulePosAlgo();
00015   
00016   void initialize(const DDNumericArguments & nArgs,
00017                   const DDVectorArguments & vArgs,
00018                   const DDMapArguments & mArgs,
00019                   const DDStringArguments & sArgs,
00020                   const DDStringVectorArguments & vsArgs);
00021   void execute(DDCompactView& cpv);
00022 
00023 private:
00024 
00025   int                      detectorN;         //Number of detectors
00026   double                   detTilt;           //Tilt of stereo detector
00027   double                   fullHeight;        //Height 
00028   std::string              boxFrameName;      //Top frame Name
00029   double                   boxFrameHeight;    //          height 
00030   double                   boxFrameWidth;     //          width
00031   double                   dlTop;             //Width at top of wafer
00032   double                   dlBottom;          //Width at bottom of wafer
00033   double                   dlHybrid;          //Width at the hybrid end
00034   std::vector<double>      boxFrameZ;         //              z-positions
00035   double                   bottomFrameHeight; //Bottom of the frame
00036   double                   bottomFrameOver;   //              overlap
00037   double                   topFrameHeight;    //Top    of the frame
00038   double                   topFrameOver;      //              overlap 
00039 
00040   std::vector<std::string> sideFrameName;     //Side Frame    name
00041   std::vector<double>      sideFrameZ;        //              z-positions
00042   std::vector<std::string> sideFrameRot;      //              rotation matrix (required for correct positiong of the hole in the StereoR)
00043   double                   sideFrameWidth;    //              width
00044   double                   sideFrameOver;     //              overlap (wrt wafer)
00045 
00046   std::vector<std::string> kaptonName;         //Kapton Circuit    name
00047   std::vector<double>      kaptonZ;           //              z-positions
00048   std::vector<std::string> kaptonRot;         //              rotation matrix (required for correct positiong of the hole in the StereoR)
00049   std::vector<std::string> waferName;         //Wafer         name
00050   std::vector<double>      waferZ;            //              z-positions
00051   std::vector<std::string> waferRot;          //              rotation matrix
00052   std::string              hybridName;        //Hybrid        name
00053   double                   hybridHeight;      //              height
00054   std::vector<double>      hybridZ;           //              z-positions
00055   std::vector<std::string> pitchName;         //Pitch adapter rotation matrix
00056   double                   pitchHeight;       //              height
00057   std::vector<double>      pitchZ;            //              z-positions
00058   std::vector<std::string> pitchRot;          //              rotation matrix
00059   std::string              coolName;        //Cool Insert   name
00060   double                   coolHeight;      //              height
00061   double                   coolZ;           //              z-position
00062   double                   coolWidth;       //              width
00063   std::vector<double>      coolRadShift;    //              
00064 
00065 
00066   bool                     doSpacers;      //Spacers (alumina) to be made (Should be "Yes" for DS modules only)
00067   std::string botSpacersName;   // Spacers at the "bottom" of the module
00068   double botSpacersHeight;      //
00069   double botSpacersZ;           //              z-position
00070   std::string sidSpacersName;   //Spacers at the "sides" of the module
00071   double sidSpacersHeight;   
00072   double sidSpacersZ;           //              z-position
00073   double sidSpacersWidth;       //              width
00074   double sidSpacersRadShift;    //              
00075 };
00076 
00077 #endif