CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_10/src/Geometry/MTCCTrackerCommonData/plugins/DDTIBLayerAlgo_MTCC.h

Go to the documentation of this file.
00001 #ifndef DD_TIBLayerAlgo_MTCC_h
00002 #define DD_TIBLayerAlgo_MTCC_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 DDTIBLayerAlgo_MTCC : public DDAlgorithm {
00011  public:
00012   //Constructor and Destructor
00013   DDTIBLayerAlgo_MTCC(); 
00014   virtual ~DDTIBLayerAlgo_MTCC();
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 parts
00027   std::string              genMat;             //General material name
00028   double                   detectorTilt;       //Detector Tilt
00029   double                   layerL;             //Length of the layer
00030   double                   detectorTol;        //Tolerance 
00031   double                   detectorW;          //Width     of detector layer
00032   double                   detectorT;          //Thickness       .........
00033   double                   coolTubeW;          //Width     of layer with cable+cool
00034   double                   coolTubeT;          //Thickness       .........
00035                                                
00036   double                   radiusLo;           //Radius for detector at lower level
00037   double                   phioffLo;           //Phi offset                 ......
00038   double                   phiMinLo;           //Phi minimum                ......
00039   double                   phiMaxLo;           //Phi maximum                ......
00040   int                      stringsLo;          //Number of strings          ......
00041   std::vector<double>      stringLoList;       //List of strings to fill    ......
00042   std::string              detectorLo;         //Detector string name       ......
00043   std::string              emptyDetectorLo;    //Empty Detector string name ......
00044   double                   roffDetLo;          //Radial offset              ......
00045   std::string              coolCableLo;        //Cable+Cool name            ......
00046   std::string              emptyCoolCableLo;   //Empty Cable+Cool name      ......
00047   double                   roffCableLo;        //Radial offset              ......
00048                                                
00049   double                   radiusUp;           //Radius for detector at upper level
00050   double                   phioffUp;           //Phi offset                 ......
00051   double                   phiMinUp;           //Phi minimum                ......
00052   double                   phiMaxUp;           //Phi maximum                ......
00053   int                      stringsUp;          //Number of strings          ......
00054   std::vector<double>      stringUpList;       //List of strings to fill    ......
00055   std::string              detectorUp;         //Detector string name       ......
00056   std::string              emptyDetectorUp;    //Empty Detector string name ......
00057   double                   roffDetUp;          //Radial offset              ......
00058   std::string              coolCableUp;        //Cable+Cool name            ......
00059   std::string              emptyCoolCableUp;   //Empty Cable+Cool name ......
00060   double                   roffCableUp;        //Radial offset              ......
00061                                                
00062   double                   cylinderT;          //Cylinder thickness
00063   std::string              cylinderMat;        //Cylinder material
00064   double                   supportW;           //Support wall width
00065   double                   supportT;           //Support wall thickness
00066   std::string              supportMat;         //Support wall  material
00067   std::string              ribMat;             //Rib material
00068   std::vector<double>      ribW;               //Rib width
00069   std::vector<double>      ribPhi;             //Rib Phi position
00070   
00071   int                      dohmN;              //Number of phi sectors for DOHMs
00072   std::vector<double>      dohmList;           //List of DOHMs
00073   double                   dohmCarrierW;       //DOHM Carrier Width
00074   double                   dohmCarrierT;       //DOHM Carrier Thickness
00075   double                   dohmCarrierR;       //DOHM Carrier Radial Height
00076   std::string              dohmCarrierMaterial;//DOHM Carrier Material
00077   std::string              dohmCableMaterial;  //DOHM Cable Material
00078   double                   dohmPrimW;          //DOHM PRIMary Width
00079   double                   dohmPrimL;          //DOHM PRIMary Length
00080   double                   dohmPrimT;          //DOHM PRIMary Thickness
00081   std::string              dohmPrimMaterial;   //DOHM PRIMary Material
00082   double                   dohmAuxW;           //DOHM AUXiliary Width
00083   double                   dohmAuxL;           //DOHM AUXiliary Length
00084   double                   dohmAuxT;           //DOHM AUXiliary Thickness
00085   std::string              dohmAuxMaterial;    //DOHM AUXiliary Material
00086   
00087 };
00088 
00089 #endif