Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-07-03 00:42:40

0001 #ifndef RecoTracker_PixelSeeding_interface_CAGeometry_h
0002 #define RecoTracker_PixelSeeding_interface_CAGeometry_h
0003 
0004 #include <alpaka/alpaka.hpp>
0005 
0006 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0007 #include "DataFormats/GeometrySurface/interface/SOARotation.h"
0008 
0009 namespace reco {
0010 
0011   // struct RZMap
0012   // {
0013   //   // in cm
0014   //   static constexpr float rmin = 0.f;
0015   //   static constexpr float rmax = 120.f;
0016   //   static constexpr float zlim = 300.f;
0017   //   static constexpr float zran = 600.f;
0018 
0019   //   static constexpr uint16_t binr = uint16_t(rmax) * 5;
0020   //   static constexpr uint16_t binz = uint16_t(zlim) * 5;
0021 
0022   //   static constexpr uint16_t binz = uint16_t(zlim) * 5;
0023 
0024   //   // bin = 1 + int (fNbins*(x-fXmin)/(fXmax-fXmin) );
0025   // }
0026 
0027   using GraphNode = std::array<uint32_t, 2>;
0028   using DetFrame = SOAFrame<float>;
0029 
0030   GENERATE_SOA_LAYOUT(CAModulesLayout, SOA_COLUMN(DetFrame, detFrame))
0031 
0032   GENERATE_SOA_LAYOUT(CALayersLayout,
0033                       SOA_COLUMN(uint32_t, layerStarts),
0034                       SOA_COLUMN(float, caThetaCut),
0035                       SOA_COLUMN(float, caDCACut))
0036 
0037   GENERATE_SOA_LAYOUT(CAGraphLayout,
0038                       SOA_COLUMN(GraphNode, graph),
0039                       SOA_COLUMN(bool, startingPair),
0040                       SOA_COLUMN(int16_t, phiCuts),
0041                       SOA_COLUMN(float, minz),
0042                       SOA_COLUMN(float, maxz),
0043                       SOA_COLUMN(float, maxr))
0044 
0045   using CALayersSoA = CALayersLayout<>;
0046   using CALayersSoAView = CALayersSoA::View;
0047   using CALayersSoAConstView = CALayersSoA::ConstView;
0048 
0049   using CAGraphSoA = CAGraphLayout<>;
0050   using CAGraphSoAView = CAGraphSoA::View;
0051   using CAGraphSoAConstView = CAGraphSoA::ConstView;
0052 
0053   using CAModulesSoA = CAModulesLayout<>;
0054   using CAModulesView = CAModulesSoA::View;
0055   using CAModulesConstView = CAModulesSoA::ConstView;
0056 
0057 }  // namespace reco
0058 #endif  // RecoTracker_PixelSeeding_interface_CAGeometry_h