File indexing completed on 2023-03-17 13:03:15
0001 #ifndef DDEcalPreshowerAlgoTB_h
0002 #define DDEcalPreshowerAlgoTB_h
0003
0004 #include <vector>
0005 #include <string>
0006
0007 #include "DetectorDescription/Core/interface/DDAlgorithm.h"
0008
0009 class DDEcalPreshowerAlgoTB : public DDAlgorithm {
0010 public:
0011 DDEcalPreshowerAlgoTB();
0012 void initialize(const DDNumericArguments& nArgs,
0013 const DDVectorArguments& vArgs,
0014 const DDMapArguments& mArgs,
0015 const DDStringArguments& sArgs,
0016 const DDStringVectorArguments& vsArgs) override;
0017 void execute(DDCompactView& pos) override;
0018
0019 private:
0020 std::string getMaterial(unsigned int i) const { return materials_[i]; }
0021 void doLayers(DDCompactView& pos);
0022 void doWedges(DDCompactView& pos);
0023 void doSens(DDCompactView& pos);
0024
0025 std::vector<double> quadMin_, quadMax_;
0026 int nmat_;
0027 double thickness_;
0028 double zlead1_, zlead2_, zfoam1_, zfoam2_;
0029 std::vector<std::string> materials_;
0030 std::vector<double> thickLayers_;
0031 std::vector<double> rminVec;
0032 std::vector<double> rmaxVec;
0033 std::vector<double> micromodulesx;
0034 std::vector<double> micromodulesy;
0035 std::string dummyMaterial;
0036 std::string idNameSpace;
0037 double waf_intra_col_sep, waf_inter_col_sep, waf_active, wedge_length, wedge_offset, zwedge_ceramic_diff,
0038 ywedge_ceramic_diff, absorbx, absorby, trabsorbx, trabsorby, ScndplaneXshift, ScndplaneYshift, TotSFXshift,
0039 TotSFYshift;
0040 int go;
0041 };
0042
0043 #endif