Back to home page

Project CMSSW displayed by LXR

 
 

    


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   // to temporarily map V3 into V2-like input
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