1 #ifndef Geometry_CommonTopologies_SimplePixelTopology_h 2 #define Geometry_CommonTopologies_SimplePixelTopology_h 11 -> std::array<std::invoke_result_t<Function, std::size_t>,
sizeof...(Indices)> {
15 template <
int N,
class Function>
34 constexpr
inline uint16_t
localY(uint16_t
py, uint16_t
n) {
37 auto yInRoc =
py -
n *
roc;
118 constexpr uint8_t
findLayer(uint32_t detId, uint8_t sl = 0) {
137 constexpr std::array<uint8_t, layerIndexSize>
158 constexpr
inline uint16_t
divu52(uint16_t
n) {
160 uint16_t
q = (
n >> 1) + (
n >> 4);
161 q =
q + (
q >> 4) + (
q >> 5);
163 uint16_t r =
n -
q * 13;
164 return q + ((r + 3) >> 4);
175 return py - 52 *
roc;
197 auto yInRoc =
py - 52 *
roc;
272 constexpr std::array<uint8_t, layerIndexSize>
layer =
290 #endif // Geometry_CommonTopologies_SimplePixelTopology_h
constexpr uint16_t maxModuleStride
constexpr uint16_t lastRowInModule
constexpr uint16_t divu52(uint16_t n)
constexpr uint16_t pixelPitchY
constexpr char const * layerName[numberOfLayers]
constexpr auto maxNumberOfLadders
constexpr uint32_t numberOfModulesInBarrel
constexpr uint32_t numberOfLayers
constexpr uint32_t layerStart[numberOfLayers+1]
constexpr uint32_t maxLayers
constexpr uint16_t numRowsInRoc
float ladderMinZ[maxNumberOfLadders]
constexpr uint16_t localY(uint16_t py)
constexpr bool validateLayerIndex()
constexpr uint32_t numberOfModules
constexpr uint16_t lastColInModule
constexpr uint16_t numColsInModule
constexpr uint16_t numberOfLaddersInBarrel
constexpr uint16_t numRowsInModule
constexpr uint16_t lastColInRoc
constexpr std::array< uint8_t, layerIndexSize > layer
float ladderR[maxNumberOfLadders]
constexpr uint16_t findMaxModuleStride()
constexpr uint32_t layerIndexSize
constexpr uint16_t pixelPitchX
constexpr auto map_to_array(Function f) -> std::array< std::invoke_result_t< Function, std::size_t >, N >
float ladderMaxZ[maxNumberOfLadders]
constexpr auto map_to_array_helper(Function f, std::index_sequence< Indices... >) -> std::array< std::invoke_result_t< Function, std::size_t >, sizeof...(Indices)>
constexpr uint16_t numColsInRoc
constexpr bool isEdgeY(uint16_t py)
constexpr uint8_t getLayer(uint32_t detId)
constexpr bool isBigPixY(uint16_t py)
constexpr bool validateLayerIndex()
constexpr uint32_t numberOfLaddersInBarrel
constexpr bool isEdgeX(uint16_t px)
constexpr uint16_t lastRowInRoc
constexpr uint32_t numberOfModules
constexpr bool isBigPixX(uint16_t px)
constexpr int16_t xOffset
constexpr uint16_t maxModuleStride
constexpr uint16_t localX(uint16_t px)
constexpr uint16_t pixelThickness
constexpr std::array< uint8_t, layerIndexSize > layer
constexpr uint16_t localY(uint16_t py, uint16_t n)
constexpr uint8_t findLayerFromCompact(uint32_t detId)
constexpr uint8_t numberOfLayers
constexpr uint16_t numberOfModulesInBarrel
float ladderY[maxNumberOfLadders]
constexpr uint16_t layerIndexSize
constexpr uint32_t layerStart[numberOfLayers+1]
float ladderZ[maxNumberOfLadders]
static unsigned int const shift
constexpr uint32_t numPixsInModule
float ladderX[maxNumberOfLadders]
constexpr uint16_t numberOfModulesInLadder
constexpr uint32_t numberOfModulesInLadder
constexpr int16_t yOffset
constexpr uint8_t findLayerFromCompact(uint32_t detId)
constexpr uint16_t toRocX(uint16_t px)
constexpr uint8_t findLayer(uint32_t detId, uint8_t sl=0)
constexpr uint16_t findMaxModuleStride()
constexpr uint16_t toRocY(uint16_t py)