CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Geometry/HcalTestBeamData/interface/DDEcalPreshowerAlgoTB.h

Go to the documentation of this file.
00001 #ifndef DDEcalPreshowerAlgoTB_h
00002 #define DDEcalPreshowerAlgoTB_h
00003 
00004 #include <vector>
00005 #include <string>
00006 
00007 #include "DetectorDescription/Algorithm/interface/DDAlgorithm.h"
00008 
00009 class DDEcalPreshowerAlgoTB : public DDAlgorithm {
00010 
00011 public:
00012   DDEcalPreshowerAlgoTB();
00013   void initialize(const DDNumericArguments & nArgs,
00014                   const DDVectorArguments & vArgs,
00015                   const DDMapArguments & mArgs,
00016                   const DDStringArguments & sArgs,
00017                   const DDStringVectorArguments & vsArgs);
00018   void execute(DDCompactView& pos);
00019 
00020 private:
00021   std::string getMaterial(unsigned int i)   const {return materials_[i];}
00022   void doLayers(DDCompactView& pos);
00023   void doWedges(DDCompactView& pos);    
00024   void doSens(DDCompactView& pos);
00025 
00026   std::vector<double> quadMin_, quadMax_; 
00027   int nmat_; // number of preshower layers
00028   double thickness_; // overall thickness of the preshower envelope
00029   double zlead1_, zlead2_, zfoam1_, zfoam2_;
00030   std::vector<std::string> materials_; // materials of the presh-layers
00031   std::vector<double> thickLayers_; 
00032   std::vector<double> rminVec; 
00033   std::vector<double> rmaxVec;
00034   std::vector<double> micromodulesx;
00035   std::vector<double> micromodulesy;
00036   std::string dummyMaterial;
00037   std::string   idNameSpace; //Namespace of this and ALL sub-parts
00038   double waf_intra_col_sep, waf_inter_col_sep, waf_active, wedge_length, wedge_offset, zwedge_ceramic_diff, ywedge_ceramic_diff, absorbx, absorby, trabsorbx, trabsorby, ScndplaneXshift, ScndplaneYshift, TotSFXshift, TotSFYshift;
00039   int go;
00040 };
00041 
00042 #endif // DDEcalPreshowerAlgoTB_h