Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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