1 #ifndef Geometry_HGCalCommonData_HGCalParameters_h
2 #define Geometry_HGCalCommonData_HGCalParameters_h
4 #include <CLHEP/Geometry/Transform3D.h>
7 #include <unordered_map>
12 #include "DD4hep/DD4hepUnits.h"
22 tileInfo(int32_t
t = 0, int32_t
s = 0, int32_t h1 = 0, int32_t h2 = 0, int32_t h3 = 0, int32_t h4 = 0)
30 typedef std::vector<std::unordered_map<int32_t, int32_t> >
layer_map;
31 typedef std::unordered_map<int32_t, int32_t>
wafer_map;
32 typedef std::unordered_map<int32_t, std::pair<int32_t, int32_t> >
waferT_map;
45 static constexpr
double tol = 1.0e-12;
54 CLHEP::Hep3Vector
h3v;
55 CLHEP::HepRotation
hr;
64 void addTrForm(
const CLHEP::Hep3Vector& h3v);
69 std::array<int, 4>
getID(
unsigned int k)
const;
std::vector< int > iradMaxBH_
std::vector< double > waferPosY_
std::vector< int > layer_
std::vector< double > moduleDzR_
std::vector< int > depthLayerF_
std::vector< int > depth_
std::vector< double > zFrontMin_
std::vector< double > moduleCellR_
std::vector< double > moduleHR_
layer_map copiesInLayers_
std::vector< std::pair< double, double > > layerRotV_
std::vector< bool > cellCoarseHalf_
std::vector< bool > cellFineHalf_
int scintType(const int layer) const
tileInfo(int32_t t=0, int32_t s=0, int32_t h1=0, int32_t h2=0, int32_t h3=0, int32_t h4=0)
std::vector< int > moduleLayR_
static constexpr double k_ScaleToDDDFromG4
std::unordered_map< int32_t, waferInfo > waferInfo_map
static constexpr int kMaskZside
std::vector< int > cellFine_
std::vector< double > moduleHS_
std::vector< double > trformTranY_
static constexpr int kMaskLayer
std::vector< double > cellFineY_
std::vector< double > trformRotZY_
std::vector< uint32_t > trformIndex_
std::vector< int > layerGroupM_
HGCalGeometryMode::GeometryMode mode_
double scintCellSize(const int layer) const
std::vector< int > cellFactor_
std::vector< double > trformRotXX_
std::vector< int > nPhiBinBH_
static constexpr double tol
void fillTrForm(const hgtrform &mytr)
static constexpr uint32_t k_CornerSize
constexpr std::array< uint8_t, layerIndexSize > layer
wafer_map wafersInLayers_
waferInfo(int32_t t=0, int32_t p=0, int32_t o=0)
HGCalParameters(const std::string &nam)
std::vector< double > rMinLayerBH_
std::vector< double > trformRotZX_
std::vector< double > cellCoarseX_
std::vector< std::pair< int, int > > tileRingRange_
std::vector< int > firstModule_
std::vector< int > cellCoarse_
std::vector< double > trformRotYZ_
std::vector< double > boundR_
std::array< int, 4 > getID(unsigned int k) const
static constexpr int kShiftSector
std::vector< double > cellSize_
std::vector< int > waferUVMaxLayer_
std::vector< double > moduleDzS_
std::vector< int > layerIndex_
std::vector< double > moduleAlphaR_
std::vector< double > yLayerHex_
hgtrform getTrForm(unsigned int k) const
std::vector< double > trformRotXY_
std::vector< double > rMaxFront_
std::vector< double > trformRotYX_
int scintCells(const int layer) const
hgtrap getModule(unsigned int k, bool reco) const
std::vector< double > waferThickness_
std::vector< double > slopeTop_
std::vector< int > layerCenter_
static constexpr double k_ScaleFromDD4hep
std::vector< double > moduleBlR_
std::vector< double > rMinLayHex_
void fillModule(const hgtrap &mytr, bool reco)
std::vector< double > moduleTlS_
std::vector< double > zLayerHex_
std::vector< int > layerType_
static constexpr int kShiftLayer
std::vector< double > rMaxLayHex_
std::vector< double > trformTranX_
static constexpr double k_ScaleFromDD4hepToG4
std::unordered_map< int32_t, std::pair< int32_t, int32_t > > waferT_map
std::vector< double > zRanges_
std::vector< double > slopeMin_
std::vector< int > lastModule_
static constexpr double k_ScaleToDDD
std::vector< double > radiusMixBoundary_
std::vector< double > cellThickness_
std::unordered_map< int32_t, tileInfo > tileInfo_map
std::vector< double > trformRotXZ_
std::vector< int > layerGroup_
std::unordered_map< int32_t, int32_t > wafer_map
static constexpr double k_ScaleToDD4hepFromG4
std::vector< double > moduleCellS_
static constexpr double k_ScaleToDD4hep
static constexpr int kShiftZside
std::vector< double > radius200to300_
static constexpr int kMaskSector
static constexpr int kMaskSubSec
std::vector< double > radius100to200_
wafer_map cellCoarseIndex_
std::vector< double > rMinFront_
#define COND_SERIALIZABLE
std::vector< int > iradMinBH_
std::vector< double > trformRotYY_
std::vector< double > cellFineX_
static constexpr double k_ScaleFromDDDToG4
std::vector< double > trformRotZZ_
static constexpr double k_ScaleFromDDD
std::vector< double > moduleAlphaS_
std::vector< int > layerGroupO_
std::vector< double > moduleBlS_
std::vector< int > waferCopy_
std::vector< int > depthIndex_
std::vector< int > layerFrontBH_
std::vector< double > rLimit_
std::vector< double > zFrontTop_
std::vector< double > radiusLayer_[2]
std::vector< int > waferTypeT_
std::vector< int > levelT_
std::vector< double > cellCoarseY_
std::vector< std::pair< double, double > > tileRingR_
waferInfo_map waferInfoMap_
std::vector< int > moduleLayS_
std::vector< double > trformTranZ_
std::vector< double > waferPosX_
void addTrForm(const CLHEP::Hep3Vector &h3v)
static constexpr int kShiftSubSec
tileInfo_map tileInfoMap_
std::vector< double > moduleTlR_
std::vector< int > waferTypeL_
std::vector< double > xLayerHex_
std::vector< std::unordered_map< int32_t, int32_t > > layer_map