Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-05-04 04:04:15

0001 #ifndef CondFormats_HGCalObjects_interface_HGCalMappingParameterSoA_h
0002 #define CondFormats_HGCalObjects_interface_HGCalMappingParameterSoA_h
0003 
0004 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0005 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0006 #include "DataFormats/SoATemplate/interface/SoAView.h"
0007 
0008 #include "CondFormats/HGCalObjects/interface/HGCalMappingModuleIndexer.h"
0009 #include "CondFormats/HGCalObjects/interface/HGCalMappingCellIndexer.h"
0010 
0011 namespace hgcal {
0012 
0013   // Generate structure of channel-level arrays (SoA) layout with module mapping information
0014   GENERATE_SOA_LAYOUT(HGCalMappingModuleParamSoALayout,
0015                       SOA_COLUMN(bool, valid),
0016                       SOA_COLUMN(bool, zside),
0017                       SOA_COLUMN(bool, isSiPM),
0018                       SOA_COLUMN(int, plane),
0019                       SOA_COLUMN(int, i1),
0020                       SOA_COLUMN(int, i2),
0021                       SOA_COLUMN(int, celltype),
0022                       SOA_COLUMN(uint16_t, typeidx),
0023                       SOA_COLUMN(uint16_t, fedid),
0024                       SOA_COLUMN(uint16_t, slinkidx),
0025                       SOA_COLUMN(uint16_t, captureblock),
0026                       SOA_COLUMN(uint16_t, econdidx),
0027                       SOA_COLUMN(uint16_t, captureblockidx),
0028                       SOA_COLUMN(uint32_t, eleid),
0029                       SOA_COLUMN(uint32_t, detid))
0030   using HGCalMappingModuleParamSoA = HGCalMappingModuleParamSoALayout<>;
0031 
0032   // Generate structure of channel-level arrays (SoA) layout with cell mapping information for both silicon and SiPM
0033   GENERATE_SOA_LAYOUT(HGCalMappingCellParamSoALayout,
0034                       SOA_COLUMN(bool, valid),
0035                       SOA_COLUMN(bool, isHD),
0036                       SOA_COLUMN(bool, iscalib),
0037                       SOA_COLUMN(bool, isSiPM),
0038                       SOA_COLUMN(uint16_t, typeidx),
0039                       SOA_COLUMN(uint16_t, chip),
0040                       SOA_COLUMN(uint16_t, half),
0041                       SOA_COLUMN(uint16_t, seq),
0042                       SOA_COLUMN(uint16_t, rocpin),
0043                       SOA_COLUMN(int, sensorcell),
0044                       SOA_COLUMN(int, triglink),
0045                       SOA_COLUMN(int, trigcell),
0046                       SOA_COLUMN(int, i1),  // iu/iring
0047                       SOA_COLUMN(int, i2),  // iv/iphi
0048                       SOA_COLUMN(int, t),
0049                       SOA_COLUMN(float, trace),
0050                       SOA_COLUMN(uint32_t, eleid),
0051                       SOA_COLUMN(uint32_t, detid))
0052   using HGCalMappingCellParamSoA = HGCalMappingCellParamSoALayout<>;
0053 
0054 }  // namespace hgcal
0055 
0056 #endif  // CondFormats_HGCalObjects_interface_HGCalMappingParameterSoA_h