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_;
00028 double thickness_;
00029 double zlead1_, zlead2_, zfoam1_, zfoam2_;
00030 std::vector<std::string> materials_;
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;
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