CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Geometry/TrackerCommonData/interface/DDTIDModuleAlgo.h

Go to the documentation of this file.
00001 #ifndef DD_TIDModuleAlgo_h
00002 #define DD_TIDModuleAlgo_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 DDTIDModuleAlgo : public DDAlgorithm {
00011  public:
00012   //Constructor and Destructor
00013   DDTIDModuleAlgo(); 
00014   virtual ~DDTIDModuleAlgo();
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              genMat;            //General material name
00027   int                      detectorN;         //Detector planes
00028   double                   moduleThick;       //Module thickness
00029   double                   detTilt;           //Tilt of stereo detector
00030   double                   fullHeight;        //Height 
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   bool                     doComponents;      //Components to be made
00035 
00036   std::string              boxFrameName;      //Top frame     name
00037   std::string              boxFrameMat;       //              material
00038   double                   boxFrameHeight;    //              height  
00039   double                   boxFrameThick;     //              thickness
00040   double                   boxFrameWidth;     //              extra width
00041   double                   bottomFrameHeight; //Bottom of the frame
00042   double                   bottomFrameOver;   //              overlap
00043   double                   topFrameHeight;    //Top    of the frame
00044   double                   topFrameOver;      //              overlap
00045   std::vector<std::string> sideFrameName;     //Side frame    name
00046   std::string              sideFrameMat;      //              material
00047   double                   sideFrameWidth;    //              width
00048   double                   sideFrameThick;    //              thickness
00049   double                   sideFrameOver;     //              overlap (wrt wafer)
00050   std::vector<std::string> holeFrameName;     //Hole in the frame   name
00051   std::vector<std::string> holeFrameRot;      //              Rotation matrix
00052 
00053   std::vector<std::string> kaptonName;        //Kapton circuit name
00054   std::string              kaptonMat;         //               material
00055   //  double                   kaptonWidth;   //               width -> computed internally from sideFrameWidth and kaptonOver
00056   double                   kaptonThick;       //               thickness
00057   double                   kaptonOver;        //               overlap (wrt Wafer)
00058   std::vector<std::string> holeKaptonName;    //Hole in the kapton circuit name
00059   std::vector<std::string> holeKaptonRot;     //              Rotation matrix
00060 
00061   std::vector<std::string> waferName;         //Wafer         name
00062   std::string              waferMat;          //              material
00063   double                   sideWidthTop;      //              width on the side Top
00064   double                   sideWidthBottom;   //                                Bottom
00065   std::vector<std::string> activeName;        //Sensitive     name
00066   std::string              activeMat;         //              material
00067   double                   activeHeight;      //              height
00068   std::vector<double>      waferThick;        //              wafer thickness (active = wafer - backplane)
00069   std::string              activeRot;         //              Rotation matrix
00070   std::vector<double>      backplaneThick;    //              thickness
00071   std::string              hybridName;        //Hybrid        name
00072   std::string              hybridMat;         //              material
00073   double                   hybridHeight;      //              height
00074   double                   hybridWidth;       //              width
00075   double                   hybridThick;       //              thickness
00076   std::vector<std::string> pitchName;         //Pitch adapter name
00077   std::string              pitchMat;          //              material
00078   double                   pitchHeight;       //              height
00079   double                   pitchThick;        //              thickness
00080   double                   pitchStereoTol;        //              tolerance in dimensions of the stereo 
00081   std::string              coolName;         // Cool insert name
00082   std::string              coolMat;          //              material
00083   double                   coolHeight;       //              height
00084   double                   coolThick;        //              thickness
00085   double                   coolWidth;        //              width
00086 
00087 };
00088 
00089 #endif