File indexing completed on 2024-04-06 12:29:38
0001 #ifndef __SimCalorimetry_HGCCalSimProducers_HGCDigitizerTypes_h__
0002 #define __SimCalorimetry_HGCCalSimProducers_HGCDigitizerTypes_h__
0003
0004 #include <unordered_map>
0005 #include <array>
0006 #include <functional>
0007
0008 #include "DataFormats/DetId/interface/DetId.h"
0009
0010 namespace hgc_digi {
0011
0012
0013 constexpr size_t nSamples = 15;
0014 constexpr size_t npreHits = 30;
0015 typedef float HGCSimData_t;
0016
0017 typedef std::array<HGCSimData_t, nSamples> HGCSimHitData;
0018
0019 typedef std::vector<HGCSimData_t> HGCSimDataCollection;
0020 typedef std::array<HGCSimDataCollection, nSamples> PUSimHitData;
0021
0022 typedef std::vector<std::pair<float, float> > HitsRecordData;
0023 typedef std::array<HitsRecordData, nSamples> HitsRecordForMultipleBxs;
0024
0025 struct HGCCellHitInfo {
0026 std::array<PUSimHitData, 2> PUhit_info;
0027 int thickness;
0028 double size;
0029 HitsRecordForMultipleBxs hitsRecord;
0030 };
0031 struct HGCCellInfo {
0032
0033 std::array<HGCSimHitData, 2> hit_info;
0034 int thickness;
0035 double size;
0036 };
0037
0038 typedef std::unordered_map<uint32_t, HGCCellInfo> HGCSimHitDataAccumulator;
0039 typedef std::unordered_map<uint32_t, HGCCellHitInfo> HGCPUSimHitDataAccumulator;
0040 }
0041 #endif