File indexing completed on 2023-03-17 11:12:18
0001 #ifndef __L1Trigger_L1THGCal_HGCalVFECompressionImpl_h__
0002 #define __L1Trigger_L1THGCal_HGCalVFECompressionImpl_h__
0003
0004 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0005
0006 #include <unordered_map>
0007 #include <array>
0008
0009 class HGCalVFECompressionImpl {
0010 public:
0011 HGCalVFECompressionImpl(const edm::ParameterSet& conf);
0012
0013 void compress(const std::unordered_map<uint32_t, uint32_t>&, std::unordered_map<uint32_t, std::array<uint32_t, 2> >&);
0014 void compressSingle(const uint32_t value, uint32_t& compressedCode, uint32_t& compressedValue) const;
0015
0016 private:
0017 uint32_t exponentBits_;
0018 uint32_t mantissaBits_;
0019 uint32_t truncationBits_;
0020 bool rounding_;
0021 uint32_t saturationCode_;
0022 uint32_t saturationValue_;
0023 };
0024
0025 #endif