CMS 3D CMS Logo

DDTIBLayerAlgo.h

Go to the documentation of this file.
00001 #ifndef DD_TIBLayerAlgo_h
00002 #define DD_TIBLayerAlgo_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 : public DDAlgorithm {
00011  public:
00012   //Constructor and Destructor
00013   DDTIBLayerAlgo(); 
00014   virtual ~DDTIBLayerAlgo();
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();
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 
00031   double                   radiusLo;       //Radius for detector at lower level
00032   double                   phioffLo;       //Phi offset             ......
00033   int                      stringsLo;      //Number of strings      ......
00034   std::string              detectorLo;     //Detector string name   ......
00035 
00036   double                   radiusUp;       //Radius for detector at upper level
00037   double                   phioffUp;       //Phi offset             ......
00038   int                      stringsUp;      //Number of strings      ......
00039   std::string              detectorUp;     //Detector string name   ......
00040 
00041   double                   cylinderT;      //Cylinder thickness
00042   double                   cylinderInR;    //Cylinder inner radius
00043   std::string              cylinderMat;    //Cylinder material
00044   double                   MFRingInR;      //Inner Manifold Ring Inner Radius 
00045   double                   MFRingOutR;     //Outer Manifold Ring Outer Radius 
00046   double                   MFRingT;        //Manifold Ring Thickness
00047   double                   MFRingDz;       //Manifold Ring Half Lenght
00048   std::string              MFIntRingMat;      //Manifold Ring Material
00049   std::string              MFExtRingMat;      //Manifold Ring Material
00050 
00051   double                   supportT;       //Cylinder barrel CF skin thickness
00052 
00053   std::string              centMat;        //Central rings  material
00054   std::vector<double>      centRing1par;   //Central rings parameters
00055   std::vector<double>      centRing2par;   //Central rings parameters
00056 
00057   std::string              fillerMat;      //Filler material
00058   double                   fillerDz;       //Filler Half Length
00059 
00060   std::string              ribMat;         //Rib material
00061   std::vector<double>      ribW;           //Rib width
00062   std::vector<double>      ribPhi;         //Rib Phi position
00063 
00064   std::vector<double>      dohmListFW;         //DOHM/AUX positions in #strings FW
00065   std::vector<double>      dohmListBW;         //DOHM/AUX positions in #strings BW
00066 
00067   double                   dohmtoMF;           //DOHM Distance to MF
00068   double                   dohmCarrierPhiOff;  //DOHM Carrier Phi offset wrt horizontal
00069   std::string              dohmPrimName;       //DOHM Primary Logical Volume name
00070   std::string              dohmAuxName;        //DOHM Auxiliary Logical Volume name
00071 
00072   std::string              dohmCarrierMaterial;//DOHM Carrier Material
00073   std::string              dohmCableMaterial;  //DOHM Cable Material
00074   double                   dohmPrimL;          //DOHM PRIMary Length
00075   std::string              dohmPrimMaterial;   //DOHM PRIMary Material
00076   double                   dohmAuxL;           //DOHM AUXiliary Length
00077   std::string              dohmAuxMaterial;    //DOHM AUXiliary Material
00078 
00079   std::string              pillarMaterial;     //Pillar Material
00080 
00081   double                   fwIntPillarDz;      //Internal pillar parameters
00082   double                   fwIntPillarDPhi;
00083   std::vector<double>      fwIntPillarZ;
00084   std::vector<double>      fwIntPillarPhi;
00085   double                   bwIntPillarDz;
00086   double                   bwIntPillarDPhi;
00087   std::vector<double>      bwIntPillarZ;
00088   std::vector<double>      bwIntPillarPhi;
00089 
00090   double                   fwExtPillarDz;      //External pillar parameters
00091   double                   fwExtPillarDPhi;
00092   std::vector<double>      fwExtPillarZ;  
00093   std::vector<double>      fwExtPillarPhi;
00094   double                   bwExtPillarDz;
00095   double                   bwExtPillarDPhi;
00096   std::vector<double>      bwExtPillarZ;  
00097   std::vector<double>      bwExtPillarPhi;
00098 };
00099 
00100 #endif

Generated on Tue Jun 9 17:37:32 2009 for CMSSW by  doxygen 1.5.4