Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef Geometry_HGCalCommonData_HGCalCassette_h
0002 #define Geometry_HGCalCommonData_HGCalCassette_h
0003 
0004 #include <cmath>
0005 #include <cstdint>
0006 #include <vector>
0007 
0008 class HGCalCassette {
0009 public:
0010   HGCalCassette(int cassette, const std::vector<double>& shifts) { setParameter(cassette, shifts); }
0011   HGCalCassette() {}
0012 
0013   void setParameter(int cassette, const std::vector<double>& shifts);
0014   std::pair<double, double> getShift(int layer, int zside, int cassette) const;
0015   static int cassetteIndex(int det, int layer, int zside, int cassette);
0016   static int cassetteType(int det, int zside, int cassette);
0017 
0018 private:
0019   static constexpr int positEE_[6] = {2, 1, 0, 5, 4, 3};
0020   static constexpr int positHE_[12] = {5, 4, 3, 2, 1, 0, 11, 10, 9, 8, 7, 6};
0021   int cassette_;
0022   bool typeHE_;
0023   std::vector<double> shifts_;
0024   static constexpr int32_t factor_ = 100;
0025 };
0026 
0027 #endif