CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/Geometry/TrackerCommonData/plugins/DDTOBRadCableAlgo.h

Go to the documentation of this file.
00001 #ifndef DD_TOBRadCableAlgo_h
00002 #define DD_TOBRadCableAlgo_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 DDTOBRadCableAlgo : public DDAlgorithm {
00011  public:
00012   //Constructor and Destructor
00013   DDTOBRadCableAlgo(); 
00014   virtual ~DDTOBRadCableAlgo();
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                                        
00028   double              diskDz;        // Disk  thickness
00029   double              rMax;          // Maximum radius
00030   double              cableT;        // Cable thickness
00031   std::vector<double> rodRin;        // Radii for inner rods
00032   std::vector<double> rodRout;       // Radii for outer rods
00033   std::vector<std::string> cableM;   // Materials for cables
00034   double              connW;         // Connector width
00035   double              connT;         // Connector thickness
00036   std::vector<std::string> connM;    // Materials for connectors
00037   std::vector<double> coolR1;        // Radii for cooling manifold
00038   std::vector<double> coolR2;        // Radii for return cooling manifold
00039   double              coolRin;       // Inner radius of cooling manifold
00040   double              coolRout1;     // Outer radius of cooling manifold
00041   double              coolRout2;     // Outer radius of cooling fluid in cooling manifold
00042   double              coolStartPhi1; // Starting Phi of cooling manifold
00043   double              coolDeltaPhi1; // Phi Range of cooling manifold
00044   double              coolStartPhi2; // Starting Phi of cooling fluid in of cooling manifold
00045   double              coolDeltaPhi2; // Phi Range of of cooling fluid in cooling manifold
00046   std::string         coolM1;        // Material for cooling manifold
00047   std::string         coolM2;        // Material for cooling fluid
00048   std::vector<std::string> names;    // Names of layers
00049 };
00050 
00051 #endif