1 #ifndef Geometry_TrackerGeometryBuilder_phase1PixelTopology_h
2 #define Geometry_TrackerGeometryBuilder_phase1PixelTopology_h
7 namespace phase1PixelTopology {
66 template <
int N,
class Function>
90 constexpr uint8_t
findLayer(uint32_t detId, uint8_t sl = 0) {
109 constexpr std::array<uint8_t, layerIndexSize>
130 constexpr
inline uint16_t
divu52(uint16_t
n) {
132 uint16_t
q = (n >> 1) + (n >> 4);
133 q = q + (q >> 4) + (q >> 5);
135 uint16_t
r = n - q * 13;
136 return q + ((r + 3) >> 4);
145 constexpr
inline uint16_t
toRocY(uint16_t py) {
147 return py - 52 *
roc;
150 constexpr
inline bool isBigPixX(uint16_t px) {
return (px == 79) | (px == 80); }
157 constexpr
inline uint16_t
localX(uint16_t px) {
166 constexpr
inline uint16_t
localY(uint16_t py) {
169 auto yInRoc = py - 52 *
roc;
189 #endif // Geometry_TrackerGeometryBuilder_phase1PixelTopology_h
constexpr uint16_t lastRowInModule
constexpr uint32_t findMaxModuleStride()
constexpr uint16_t divu52(uint16_t n)
constexpr uint16_t pixelPitchY
constexpr char const * layerName[numberOfLayers]
float ladderZ[numberOfLaddersInBarrel]
constexpr uint32_t numberOfModulesInBarrel
static constexpr auto numberOfLaddersInBarrel
constexpr uint32_t numberOfLayers
constexpr uint16_t numRowsInRoc
constexpr uint16_t localY(uint16_t py)
constexpr auto map_to_array(Function f) -> std::array< typename std::result_of< Function(std::size_t)>::type, N >
constexpr uint32_t numberOfModules
constexpr uint16_t lastColInModule
constexpr uint16_t numColsInModule
constexpr uint16_t numRowsInModule
constexpr uint16_t lastColInRoc
constexpr std::array< uint8_t, layerIndexSize > layer
constexpr uint32_t layerIndexSize
float ladderR[numberOfLaddersInBarrel]
constexpr uint16_t pixelPitchX
constexpr uint32_t numberOfLaddersInBarrel
constexpr uint16_t numColsInRoc
constexpr bool isEdgeY(uint16_t py)
constexpr uint8_t getLayer(uint32_t detId)
float ladderMinZ[numberOfLaddersInBarrel]
constexpr bool isBigPixY(uint16_t py)
constexpr bool validateLayerIndex()
constexpr bool isEdgeX(uint16_t px)
constexpr uint16_t lastRowInRoc
constexpr bool isBigPixX(uint16_t px)
constexpr int16_t xOffset
constexpr uint16_t localX(uint16_t px)
constexpr uint16_t pixelThickness
constexpr uint32_t maxModuleStride
constexpr auto map_to_array_helper(Function f, std::index_sequence< Indices...>) -> std::array< typename std::result_of< Function(std::size_t)>::type, sizeof...(Indices)>
float ladderY[numberOfLaddersInBarrel]
float ladderMaxZ[numberOfLaddersInBarrel]
constexpr uint32_t layerStart[numberOfLayers+1]
static unsigned int const shift
constexpr uint32_t numPixsInModule
float ladderX[numberOfLaddersInBarrel]
constexpr int16_t yOffset
tuple size
Write out results.
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 toRocY(uint16_t py)