Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:14:53

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