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