1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#ifndef BTLNumberingScheme_h
#define BTLNumberingScheme_h
#include "Geometry/MTDCommonData/interface/MTDNumberingScheme.h"
#include "DataFormats/ForwardDetId/interface/BTLDetId.h"
class BTLNumberingScheme : public MTDNumberingScheme {
public:
static constexpr uint32_t kBTLcrystalLevel = 9;
static constexpr uint32_t kBTLmoduleLevel = 8;
static constexpr std::array<uint32_t, BTLDetId::kModulesPerRUV2> negModCopy{
{3, 2, 1, 6, 5, 4, 9, 8, 7, 12, 11, 10, 15, 14, 13, 18, 17, 16, 21, 20, 19, 24, 23, 22}};
// to temporarily map V3 into V2-like input
static constexpr std::array<uint32_t, BTLDetId::kRUPerTypeV2 * BTLDetId::kCrystalTypes> globalru2type{
{1, 1, 2, 2, 3, 3}};
static constexpr std::array<uint32_t, BTLDetId::kRUPerTypeV2 * BTLDetId::kCrystalTypes> globalru2ru{
{1, 2, 1, 2, 1, 2}};
BTLNumberingScheme();
~BTLNumberingScheme() override;
uint32_t getUnitID(const MTDBaseNumber& baseNumber) const override;
};
#endif
|