Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-06-26 23:26:30

0001 #ifndef CondFormats_HcalObjects_HcalRecoParamWithPulseShapeSoA_h
0002 #define CondFormats_HcalObjects_HcalRecoParamWithPulseShapeSoA_h
0003 
0004 #include "RecoLocalCalo/HcalRecAlgos/interface/HcalConstants.h"
0005 
0006 #include "DataFormats/SoATemplate/interface/SoACommon.h"
0007 #include "DataFormats/SoATemplate/interface/SoALayout.h"
0008 
0009 #include <array>
0010 
0011 namespace hcal {
0012   using HcalPSfunctorArray = std::array<float, hcal::constants::maxPSshapeBin>;  // 256
0013   using HcalPSfunctorBXarray = std::array<float, hcal::constants::nsPerBX>;      // 25
0014 
0015   GENERATE_SOA_LAYOUT(HcalRecoParamSoALayout,
0016                       SOA_COLUMN(uint32_t, param1),
0017                       SOA_COLUMN(uint32_t, param2),
0018                       SOA_COLUMN(uint32_t, ids))
0019   GENERATE_SOA_LAYOUT(HcalPulseShapeSoALayout,
0020                       SOA_COLUMN(HcalPSfunctorArray, acc25nsVec),
0021                       SOA_COLUMN(HcalPSfunctorArray, diff25nsItvlVec),
0022                       SOA_COLUMN(HcalPSfunctorBXarray, accVarLenIdxMinusOneVec),
0023                       SOA_COLUMN(HcalPSfunctorBXarray, diffVarItvlIdxMinusOneVec),
0024                       SOA_COLUMN(HcalPSfunctorBXarray, accVarLenIdxZEROVec),
0025                       SOA_COLUMN(HcalPSfunctorBXarray, diffVarItvlIdxZEROVec))
0026 
0027   using HcalRecoParamSoA = HcalRecoParamSoALayout<>;
0028   using HcalPulseShapeSoA = HcalPulseShapeSoALayout<>;
0029 }  // namespace hcal
0030 #endif