Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-07-03 04:17:36

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 #include "DataFormats/SoATemplate/interface/SoAView.h"
0009 
0010 #include <array>
0011 
0012 namespace hcal {
0013   using HcalPSfunctorArray = std::array<float, hcal::constants::maxPSshapeBin>;  // 256
0014   using HcalPSfunctorBXarray = std::array<float, hcal::constants::nsPerBX>;      // 25
0015 
0016   GENERATE_SOA_LAYOUT(HcalRecoParamSoALayout,
0017                       SOA_COLUMN(uint32_t, param1),
0018                       SOA_COLUMN(uint32_t, param2),
0019                       SOA_COLUMN(uint32_t, ids))
0020   GENERATE_SOA_LAYOUT(HcalPulseShapeSoALayout,
0021                       SOA_COLUMN(HcalPSfunctorArray, acc25nsVec),
0022                       SOA_COLUMN(HcalPSfunctorArray, diff25nsItvlVec),
0023                       SOA_COLUMN(HcalPSfunctorBXarray, accVarLenIdxMinusOneVec),
0024                       SOA_COLUMN(HcalPSfunctorBXarray, diffVarItvlIdxMinusOneVec),
0025                       SOA_COLUMN(HcalPSfunctorBXarray, accVarLenIdxZEROVec),
0026                       SOA_COLUMN(HcalPSfunctorBXarray, diffVarItvlIdxZEROVec))
0027 
0028   using HcalRecoParamSoA = HcalRecoParamSoALayout<>;
0029   using HcalPulseShapeSoA = HcalPulseShapeSoALayout<>;
0030 }  // namespace hcal
0031 #endif