Back to home page

Project CMSSW displayed by LXR

 
 

    


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 };  // namespace HGCalProperty
0058 
0059 #endif