File indexing completed on 2024-08-18 22:54:44
0001 #ifndef Geometry_HGCalCommonData_HGCalProperty_h
0002 #define Geometry_HGCalCommonData_HGCalProperty_h
0003
0004 #include <cmath>
0005 #include <cstdint>
0006
0007 namespace HGCalProperty {
0008 int32_t waferProperty(const int32_t thick, const int32_t partial, const int32_t orient, const int32_t cassette = 0);
0009 int32_t waferThick(const int32_t property);
0010 int32_t waferPartial(const int32_t property);
0011 int32_t waferOrient(const int32_t property);
0012 int32_t waferCassette(const int32_t property);
0013 int32_t tileProperty(const int32_t type, const int32_t sipm);
0014 int32_t tileType(const int32_t property);
0015 int32_t tileSiPM(const int32_t property);
0016
0017 constexpr int32_t kHGCalWaferUOffset = 0;
0018 constexpr int32_t kHGCalWaferUMask = 0x1F;
0019 constexpr int32_t kHGCalWaferUSignOffset = 5;
0020 constexpr int32_t kHGCalWaferUSignMask = 0x1;
0021 constexpr int32_t kHGCalWaferVOffset = 6;
0022 constexpr int32_t kHGCalWaferVMask = 0x1F;
0023 constexpr int32_t kHGCalWaferVSignOffset = 11;
0024 constexpr int32_t kHGCalWaferVSignMask = 0x1;
0025 constexpr int32_t kHGCalWaferCopyOffset = 0;
0026 constexpr int32_t kHGCalWaferCopyMask = 0x7FFFF;
0027 constexpr int32_t kHGCalLayerOldMask = 0x1000000;
0028
0029 constexpr int32_t kHGCalLayerOffset = 18;
0030 constexpr int32_t kHGCalLayerMask = 0x1F;
0031
0032 constexpr int32_t kHGCalPhiOffset = 0;
0033 constexpr int32_t kHGCalPhiMask = 0x1FF;
0034 constexpr int32_t kHGCalRingOffset = 9;
0035 constexpr int32_t kHGCalRingMask = 0x1FF;
0036
0037 constexpr int32_t kHGCalFactor = 10;
0038 constexpr int32_t kHGCalFactorPartial = 100;
0039 constexpr int32_t kHGCalFactorCassette = 100;
0040 constexpr int32_t kHGCalOffsetThick = 1;
0041 constexpr int32_t kHGCalOffsetPartial = 10;
0042 constexpr int32_t kHGCalOffsetOrient = 1000;
0043 constexpr int32_t kHGCalOffsetCassette = 10000;
0044 constexpr int32_t kHGCalOffsetType = 1;
0045 constexpr int32_t kHGCalOffsetSiPM = 10;
0046 constexpr int32_t kHGCalTilePack = 1000;
0047
0048 constexpr int32_t kHGCalTilePhis = 288;
0049 constexpr int32_t kHGCalFineTilePhis = 432;
0050 constexpr int32_t kHGCalTilePhisWord = 24;
0051 constexpr int32_t kHGCalFineTilePhisWord = 36;
0052 constexpr int32_t kHGCalTilePhisBy2 = kHGCalTilePhis / 2;
0053 constexpr int32_t kHGCalTilePhisBy3 = kHGCalTilePhis / 3;
0054 constexpr int32_t kHGCalFineTilePhisBy2 = kHGCalFineTilePhis / 2;
0055 constexpr int32_t kHGCalFineTilePhisBy3 = kHGCalFineTilePhis / 3;
0056
0057 };
0058
0059 #endif