File indexing completed on 2025-03-08 03:04:14
0001
0002 #ifndef BTLNumberingScheme_h
0003 #define BTLNumberingScheme_h
0004
0005 #include "Geometry/MTDCommonData/interface/MTDNumberingScheme.h"
0006 #include "DataFormats/ForwardDetId/interface/BTLDetId.h"
0007
0008 class BTLNumberingScheme : public MTDNumberingScheme {
0009 public:
0010 static constexpr uint32_t kBTLcrystalLevel = 9;
0011 static constexpr uint32_t kBTLmoduleLevel = 8;
0012
0013 static constexpr std::array<uint32_t, BTLDetId::kModulesPerRUV2> negModCopy{
0014 {3, 2, 1, 6, 5, 4, 9, 8, 7, 12, 11, 10, 15, 14, 13, 18, 17, 16, 21, 20, 19, 24, 23, 22}};
0015
0016
0017 static constexpr std::array<uint32_t, BTLDetId::kRUPerTypeV2 * BTLDetId::kCrystalTypes> globalru2type{
0018 {1, 1, 2, 2, 3, 3}};
0019 static constexpr std::array<uint32_t, BTLDetId::kRUPerTypeV2 * BTLDetId::kCrystalTypes> globalru2ru{
0020 {1, 2, 1, 2, 1, 2}};
0021
0022 BTLNumberingScheme();
0023 ~BTLNumberingScheme() override;
0024 uint32_t getUnitID(const MTDBaseNumber& baseNumber) const override;
0025 };
0026
0027 #endif