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