File indexing completed on 2023-03-17 13:03:19
0001 #ifndef HGCalCommonData_HGCalParametersFromDD_h
0002 #define HGCalCommonData_HGCalParametersFromDD_h
0003
0004 #include <string>
0005 #include <vector>
0006 #include "DetectorDescription/Core/interface/DDsvalues.h"
0007 #include "DetectorDescription/Core/interface/DDCompactView.h"
0008 #include "DetectorDescription/DDCMS/interface/DDCompactView.h"
0009
0010 class HGCalParameters;
0011
0012 class HGCalParametersFromDD {
0013 public:
0014 HGCalParametersFromDD() = default;
0015 virtual ~HGCalParametersFromDD() = default;
0016
0017 bool build(const DDCompactView* cpv,
0018 HGCalParameters& php,
0019 const std::string& name,
0020 const std::string& namew,
0021 const std::string& namec,
0022 const std::string& namet);
0023 bool build(const cms::DDCompactView* cpv,
0024 HGCalParameters& php,
0025 const std::string& name,
0026 const std::string& namew,
0027 const std::string& namec,
0028 const std::string& namet,
0029 const std::string& name2);
0030
0031 private:
0032 void getCellPosition(HGCalParameters& php, int type);
0033 double getDDDValue(const char* s, const DDsvalues_type& sv);
0034 std::vector<double> getDDDArray(const char* s, const DDsvalues_type& sv);
0035 constexpr static double tan30deg_ = 0.5773502693;
0036 };
0037
0038 #endif