File indexing completed on 2024-07-03 04:18:11
0001
0002
0003
0004
0005 #ifndef RecoLocalCalo_HGCalRecProducer_HGCalTilesConstants_h
0006 #define RecoLocalCalo_HGCalRecProducer_HGCalTilesConstants_h
0007
0008 #include "DataFormats/Math/interface/constexpr_cmath.h"
0009 #include <cmath>
0010 #include <cstdint>
0011 #include <array>
0012
0013 struct HGCalSiliconTilesConstants {
0014 static constexpr float tileSize = 5.f;
0015 static constexpr float minDim1 = -285.f;
0016 static constexpr float maxDim1 = 285.f;
0017 static constexpr float minDim2 = -285.f;
0018 static constexpr float maxDim2 = 285.f;
0019 static constexpr int nColumns = reco::ceil((maxDim1 - minDim1) / tileSize);
0020 static constexpr int nRows = reco::ceil((maxDim2 - minDim2) / tileSize);
0021 static constexpr int nTiles = nColumns * nRows;
0022 static constexpr float invDim1BinSize = nColumns / (maxDim1 - minDim1);
0023 static constexpr float invDim2BinSize = nRows / (maxDim2 - minDim2);
0024 static constexpr int maxTileDepth = 64;
0025 };
0026
0027 struct HGCalScintillatorTilesConstants {
0028 static constexpr float tileSize = 0.15f;
0029 static constexpr float minDim1 = -3.f;
0030 static constexpr float maxDim1 = 3.f;
0031 static constexpr float minDim2 = -3.f;
0032 static constexpr float maxDim2 = 3.f;
0033 static constexpr int nColumns = reco::ceil((maxDim1 - minDim1) / tileSize);
0034 static constexpr int nRows = reco::ceil(2. * M_PI / tileSize);
0035 static constexpr int nTiles = nColumns * nRows;
0036 static constexpr float invDim1BinSize = nColumns / (maxDim1 - minDim1);
0037 static constexpr float invDim2BinSize = nRows / (maxDim2 - minDim2);
0038 static constexpr int maxTileDepth = 32;
0039 };
0040
0041 #endif