Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:29:47

0001 #ifndef SimG4CMS_HcalNumberingFromPS_h
0002 #define SimG4CMS_HcalNumberingFromPS_h
0003 
0004 #include "Geometry/CaloGeometry/interface/CaloNumberingScheme.h"
0005 #include "Geometry/HcalCommonData/interface/HcalNumberingFromDDD.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #
0008 #include <cstdint>
0009 #include <vector>
0010 
0011 class HcalNumberingFromPS {
0012 public:
0013   HcalNumberingFromPS(const edm::ParameterSet&);
0014   ~HcalNumberingFromPS() {}
0015 
0016   HcalNumberingFromDDD::HcalID unitID(int det, int layer, int depth, const math::XYZVectorD& pos) const;
0017   std::pair<int, int> getEta(const int& det, const math::XYZVectorD& pos) const;
0018   std::pair<int, int> getPhi(const int& det, const int& ieta, const double& phi) const;
0019 
0020 private:
0021   static const int nEtas_ = 29;
0022   std::vector<double> etaTable_, phibin_, phioff_;
0023   std::vector<int> etaMin_, etaMax_, depthHBHE_;
0024   int etaHBHE_, depth29Mx_;
0025   double rMinHO_;
0026   std::vector<double> zHO_;
0027   std::vector<std::vector<int> > segmentation_;
0028 };
0029 
0030 #endif