CMS 3D CMS Logo

HGCDigitizerTypes.h
Go to the documentation of this file.
1 #ifndef __SimCalorimetry_HGCCalSimProducers_HGCDigitizerTypes_h__
2 #define __SimCalorimetry_HGCCalSimProducers_HGCDigitizerTypes_h__
3 
4 #include <unordered_map>
5 #include <array>
6 #include <functional>
7 
9 
10 namespace hgc_digi {
11 
12  //15 time samples: 9 pre-samples, 1 in-time, 5 post-samples
13  constexpr size_t nSamples = 15;
14 
15  typedef float HGCSimData_t;
16 
17  typedef std::array<HGCSimData_t,nSamples> HGCSimHitData;
18 
19  struct HGCCellInfo {
20  //1st array=energy, 2nd array=energy weighted time-of-flight
21  std::array<HGCSimHitData,2> hit_info;
22  int thickness;
23  double size;
24  };
25 
26  typedef std::unordered_map<uint32_t, HGCCellInfo > HGCSimHitDataAccumulator;
27 
28 }
29 #endif
std::array< HGCSimHitData, 2 > hit_info
std::array< HGCSimData_t, nSamples > HGCSimHitData
std::unordered_map< uint32_t, HGCCellInfo > HGCSimHitDataAccumulator
float HGCSimData_t
constexpr size_t nSamples
#define constexpr