CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private Attributes | Friends
HGCalParameters Class Reference

#include <HGCalParameters.h>

Classes

struct  hgtrap
 
struct  hgtrform
 
struct  tileInfo
 
struct  waferInfo
 

Public Types

typedef std::vector
< std::unordered_map< int32_t,
int32_t > > 
layer_map
 
typedef std::unordered_map
< int32_t, tileInfo
tileInfo_map
 
typedef std::unordered_map
< int32_t, int32_t > 
wafer_map
 
typedef std::unordered_map
< int32_t, waferInfo
waferInfo_map
 
typedef std::unordered_map
< int32_t, std::pair< int32_t,
int32_t > > 
waferT_map
 

Public Member Functions

void addTrForm (const CLHEP::Hep3Vector &h3v)
 
void fillModule (const hgtrap &mytr, bool reco)
 
void fillTrForm (const hgtrform &mytr)
 
std::array< int, 4 > getID (unsigned int k) const
 
hgtrap getModule (unsigned int k, bool reco) const
 
hgtrform getTrForm (unsigned int k) const
 
 HGCalParameters (const std::string &nam)
 
void scaleTrForm (double)
 
int scintCells (const int layer) const
 
double scintCellSize (const int layer) const
 
int scintType (const int layer) const
 
 ~HGCalParameters (void)
 

Public Attributes

std::vector< double > boundR_
 
std::vector< int > cellCoarse_
 
std::vector< bool > cellCoarseHalf_
 
wafer_map cellCoarseIndex_
 
std::vector< double > cellCoarseX_
 
std::vector< double > cellCoarseY_
 
std::vector< int > cellFactor_
 
std::vector< int > cellFine_
 
std::vector< bool > cellFineHalf_
 
wafer_map cellFineIndex_
 
std::vector< double > cellFineX_
 
std::vector< double > cellFineY_
 
std::vector< double > cellSize_
 
std::vector< double > cellThickness_
 
int choiceType_
 
layer_map copiesInLayers_
 
bool defineFull_
 
std::vector< int > depth_
 
std::vector< int > depthIndex_
 
std::vector< int > depthLayerF_
 
int detectorType_
 
int firstLayer_
 
int firstMixedLayer_
 
std::vector< int > firstModule_
 
double fracAreaMin_
 
std::vector< int > iradMaxBH_
 
std::vector< int > iradMinBH_
 
std::vector< int > lastModule_
 
std::vector< int > layer_
 
std::vector< int > layerCenter_
 
std::vector< int > layerFrontBH_
 
std::vector< int > layerGroup_
 
std::vector< int > layerGroupM_
 
std::vector< int > layerGroupO_
 
std::vector< int > layerIndex_
 
int layerOffset_
 
double layerRotation_
 
std::vector< std::pair< double,
double > > 
layerRotV_
 
std::vector< int > layerType_
 
std::vector< int > levelT_
 
int levelZSide_
 
double minTileSize_
 
HGCalGeometryMode::GeometryMode mode_
 
std::vector< double > moduleAlphaR_
 
std::vector< double > moduleAlphaS_
 
std::vector< double > moduleBlR_
 
std::vector< double > moduleBlS_
 
std::vector< double > moduleCellR_
 
std::vector< double > moduleCellS_
 
std::vector< double > moduleDzR_
 
std::vector< double > moduleDzS_
 
std::vector< double > moduleHR_
 
std::vector< double > moduleHS_
 
std::vector< int > moduleLayR_
 
std::vector< int > moduleLayS_
 
std::vector< double > moduleTlR_
 
std::vector< double > moduleTlS_
 
double mouseBite_
 
std::string name_
 
int nCells_
 
int nCellsCoarse_
 
int nCellsFine_
 
int nCornerCut_
 
std::vector< int > nPhiBinBH_
 
int nSectors_
 
std::vector< double > radius100to200_
 
std::vector< double > radius200to300_
 
std::vector< double > radiusLayer_ [2]
 
std::vector< double > radiusMixBoundary_
 
std::vector< double > rLimit_
 
std::vector< double > rMaxFront_
 
std::vector< double > rMaxLayHex_
 
std::vector< double > rMinFront_
 
std::vector< double > rMinLayerBH_
 
std::vector< double > rMinLayHex_
 
double sensorSeparation_
 
std::vector< double > slopeMin_
 
std::vector< double > slopeTop_
 
tileInfo_map tileInfoMap_
 
std::vector< std::pair< double,
double > > 
tileRingR_
 
std::vector< std::pair< int,
int > > 
tileRingRange_
 
std::vector< uint32_t > trformIndex_
 
std::vector< double > trformRotXX_
 
std::vector< double > trformRotXY_
 
std::vector< double > trformRotXZ_
 
std::vector< double > trformRotYX_
 
std::vector< double > trformRotYY_
 
std::vector< double > trformRotYZ_
 
std::vector< double > trformRotZX_
 
std::vector< double > trformRotZY_
 
std::vector< double > trformRotZZ_
 
std::vector< double > trformTranX_
 
std::vector< double > trformTranY_
 
std::vector< double > trformTranZ_
 
wafer_map typesInLayers_
 
std::vector< int > waferCopy_
 
waferInfo_map waferInfoMap_
 
int waferMaskMode_
 
std::vector< double > waferPosX_
 
std::vector< double > waferPosY_
 
double waferR_
 
wafer_map wafersInLayers_
 
double waferSize_
 
double waferThick_
 
std::vector< double > waferThickness_
 
std::vector< int > waferTypeL_
 
waferT_map waferTypes_
 
std::vector< int > waferTypeT_
 
int waferUVMax_
 
std::vector< int > waferUVMaxLayer_
 
int waferZSide_
 
std::vector< double > xLayerHex_
 
std::vector< double > yLayerHex_
 
std::vector< double > zFrontMin_
 
std::vector< double > zFrontTop_
 
std::vector< double > zLayerHex_
 
double zMinForRad_
 
std::vector< double > zRanges_
 

Static Public Attributes

static constexpr uint32_t k_CornerSize = 6
 
static constexpr double k_ScaleFromDD4hep = (1.0 / dd4hep::cm)
 
static constexpr double k_ScaleFromDD4hepToG4 = (1.0 / dd4hep::mm)
 
static constexpr double k_ScaleFromDDD = 0.1
 
static constexpr double k_ScaleFromDDDToG4 = 1.0
 
static constexpr double k_ScaleToDD4hep = dd4hep::cm
 
static constexpr double k_ScaleToDD4hepFromG4 = dd4hep::mm
 
static constexpr double k_ScaleToDDD = 10.0
 
static constexpr double k_ScaleToDDDFromG4 = 1.0
 
static constexpr double tol = 1.0e-12
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Static Private Attributes

static constexpr int kMaskLayer = 0x7F
 
static constexpr int kMaskSector = 0x3FF
 
static constexpr int kMaskSubSec = 0x1
 
static constexpr int kMaskZside = 0x1
 
static constexpr int kShiftLayer = 12
 
static constexpr int kShiftSector = 1
 
static constexpr int kShiftSubSec = 0
 
static constexpr int kShiftZside = 19
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Definition at line 14 of file HGCalParameters.h.

Member Typedef Documentation

typedef std::vector<std::unordered_map<int32_t, int32_t> > HGCalParameters::layer_map

Definition at line 30 of file HGCalParameters.h.

typedef std::unordered_map<int32_t, tileInfo> HGCalParameters::tileInfo_map

Definition at line 34 of file HGCalParameters.h.

typedef std::unordered_map<int32_t, int32_t> HGCalParameters::wafer_map

Definition at line 31 of file HGCalParameters.h.

typedef std::unordered_map<int32_t, waferInfo> HGCalParameters::waferInfo_map

Definition at line 33 of file HGCalParameters.h.

typedef std::unordered_map<int32_t, std::pair<int32_t, int32_t> > HGCalParameters::waferT_map

Definition at line 32 of file HGCalParameters.h.

Constructor & Destructor Documentation

HGCalParameters::HGCalParameters ( const std::string &  nam)

Definition at line 7 of file HGCalParameters.cc.

References name_.

7  : name_(nam), nCells_(0), waferMaskMode_(0) {
8 #ifdef EDM_ML_DEBUG
9  edm::LogVerbatim("HGCalGeom") << "Construct HGCalParameters for " << name_;
10 #endif
11 }
Log< level::Info, true > LogVerbatim
std::string name_
HGCalParameters::~HGCalParameters ( void  )

Definition at line 13 of file HGCalParameters.cc.

13 {}

Member Function Documentation

void HGCalParameters::addTrForm ( const CLHEP::Hep3Vector &  h3v)

Definition at line 141 of file HGCalParameters.cc.

References isotrackApplyRegressor::k, trformTranX_, trformTranY_, and trformTranZ_.

Referenced by HGCalGeomParameters::loadGeometryHexagon().

141  {
142  unsigned int k = trformTranX_.size();
143  if (k > 0) {
144  trformTranX_[k - 1] += h3v.x();
145  trformTranY_[k - 1] += h3v.y();
146  trformTranZ_[k - 1] += h3v.z();
147  }
148 }
std::vector< double > trformTranY_
std::vector< double > trformTranX_
std::vector< double > trformTranZ_
void HGCalParameters::fillModule ( const hgtrap mytr,
bool  reco 
)

Definition at line 15 of file HGCalParameters.cc.

References HGCalParameters::hgtrap::alpha, HGCalParameters::hgtrap::bl, HGCalParameters::hgtrap::cellSize, HGCalParameters::hgtrap::dz, HGCalParameters::hgtrap::h, HGCalParameters::hgtrap::lay, moduleAlphaR_, moduleAlphaS_, moduleBlR_, moduleBlS_, moduleCellR_, moduleCellS_, moduleDzR_, moduleDzS_, moduleHR_, moduleHS_, moduleLayR_, moduleLayS_, moduleTlR_, moduleTlS_, and HGCalParameters::hgtrap::tl.

Referenced by HGCalGeomParameters::loadCellTrapezoid(), HGCalGeomParameters::loadGeometryHexagon(), and HGCalGeomParameters::loadWaferHexagon8().

15  {
16  if (reco) {
17  moduleLayR_.emplace_back(mytr.lay);
18  moduleBlR_.emplace_back(mytr.bl);
19  moduleTlR_.emplace_back(mytr.tl);
20  moduleHR_.emplace_back(mytr.h);
21  moduleDzR_.emplace_back(mytr.dz);
22  moduleAlphaR_.emplace_back(mytr.alpha);
23  moduleCellR_.emplace_back(mytr.cellSize);
24  } else {
25  moduleLayS_.emplace_back(mytr.lay);
26  moduleBlS_.emplace_back(mytr.bl);
27  moduleTlS_.emplace_back(mytr.tl);
28  moduleHS_.emplace_back(mytr.h);
29  moduleDzS_.emplace_back(mytr.dz);
30  moduleAlphaS_.emplace_back(mytr.alpha);
31  moduleCellS_.emplace_back(mytr.cellSize);
32  }
33 }
std::vector< double > moduleDzR_
std::vector< double > moduleCellR_
std::vector< double > moduleHR_
std::vector< int > moduleLayR_
std::vector< double > moduleHS_
std::vector< double > moduleDzS_
std::vector< double > moduleAlphaR_
std::vector< double > moduleBlR_
std::vector< double > moduleTlS_
std::vector< double > moduleCellS_
std::vector< double > moduleAlphaS_
std::vector< double > moduleBlS_
std::vector< int > moduleLayS_
std::vector< double > moduleTlR_
void HGCalParameters::fillTrForm ( const hgtrform mytr)

Definition at line 67 of file HGCalParameters.cc.

References funct::abs(), TauDecayModes::dec, HGCalParameters::hgtrform::h3v, HGCalParameters::hgtrform::hr, isotrackApplyRegressor::k, kMaskLayer, kMaskSector, kMaskSubSec, kMaskZside, kShiftLayer, kShiftSector, kShiftSubSec, kShiftZside, HGCalParameters::hgtrform::lay, HGCalParameters::hgtrform::sec, HGCalParameters::hgtrform::subsec, tol, trformIndex_, trformRotXX_, trformRotXY_, trformRotXZ_, trformRotYX_, trformRotYY_, trformRotYZ_, trformRotZX_, trformRotZY_, trformRotZZ_, trformTranX_, trformTranY_, trformTranZ_, and HGCalParameters::hgtrform::zp.

Referenced by HGCalGeomParameters::loadGeometryHexagon(), and HGCalGeomParameters::loadGeometryHexagon8().

67  {
68  int zp = (mytr.zp == 1) ? 1 : 0;
69  uint32_t indx = ((zp & kMaskZside) << kShiftZside);
70  indx |= ((mytr.lay & kMaskLayer) << kShiftLayer);
71  indx |= ((mytr.sec & kMaskSector) << kShiftSector);
72  indx |= ((mytr.subsec & kMaskSubSec) << kShiftSubSec);
73 #ifdef EDM_ML_DEBUG
74  edm::LogVerbatim("HGCalGeom") << "ZP " << zp << ":" << kMaskZside << ":" << kShiftZside
75  << ((zp & kMaskZside) << kShiftZside) << " Lay " << mytr.lay << ":" << kMaskLayer << ":"
76  << kShiftLayer << ":" << ((mytr.lay & kMaskLayer) << kShiftLayer) << " Sector "
77  << mytr.sec << ":" << kMaskSector << ":" << kShiftSector << ":"
78  << ((mytr.sec & kMaskSector) << kShiftSector) << " SubSec " << mytr.subsec << ":"
79  << kMaskSubSec << ":" << kShiftSubSec << ":"
80  << ((mytr.subsec & kMaskSubSec) << kShiftSubSec) << " Index " << std::hex << indx
81  << std::dec;
82 #endif
83  trformIndex_.emplace_back(indx);
84  trformTranX_.emplace_back(mytr.h3v.x());
85  trformTranY_.emplace_back(mytr.h3v.y());
86  trformTranZ_.emplace_back(mytr.h3v.z());
87  trformRotXX_.emplace_back((std::abs(mytr.hr.xx()) > tol) ? mytr.hr.xx() : 0);
88  trformRotYX_.emplace_back((std::abs(mytr.hr.yx()) > tol) ? mytr.hr.yx() : 0);
89  trformRotZX_.emplace_back((std::abs(mytr.hr.zx()) > tol) ? mytr.hr.zx() : 0);
90  trformRotXY_.emplace_back((std::abs(mytr.hr.xy()) > tol) ? mytr.hr.xy() : 0);
91  trformRotYY_.emplace_back((std::abs(mytr.hr.yy()) > tol) ? mytr.hr.yy() : 0);
92  trformRotZY_.emplace_back((std::abs(mytr.hr.zy()) > tol) ? mytr.hr.zy() : 0);
93  trformRotXZ_.emplace_back((std::abs(mytr.hr.xz()) > tol) ? mytr.hr.xz() : 0);
94  trformRotYZ_.emplace_back((std::abs(mytr.hr.yz()) > tol) ? mytr.hr.yz() : 0);
95  trformRotZZ_.emplace_back((std::abs(mytr.hr.zz()) > tol) ? mytr.hr.zz() : 0);
96 #ifdef EDM_ML_DEBUG
97  unsigned int k = trformIndex_.size() - 1;
98  edm::LogVerbatim("HGCalGeom") << "HGCalParameters[" << k << "] Index " << std::hex << trformIndex_[k] << std::dec
99  << " (" << mytr.zp << ", " << mytr.lay << ", " << mytr.sec << ", " << mytr.subsec
100  << ") Translation (" << trformTranX_[k] << ", " << trformTranY_[k] << ", "
101  << trformTranZ_[k] << ") Rotation (" << trformRotXX_[k] << ", " << trformRotYX_[k]
102  << ", " << trformRotZX_[k] << ", " << trformRotXY_[k] << ", " << trformRotYY_[k] << ", "
103  << trformRotZY_[k] << ", " << trformRotXZ_[k] << ", " << trformRotYZ_[k] << ", "
104  << trformRotZZ_[k];
105 #endif
106 }
Log< level::Info, true > LogVerbatim
static constexpr int kMaskZside
std::vector< double > trformTranY_
static constexpr int kMaskLayer
std::vector< double > trformRotZY_
std::vector< uint32_t > trformIndex_
std::vector< double > trformRotXX_
static constexpr double tol
std::vector< double > trformRotZX_
std::vector< double > trformRotYZ_
static constexpr int kShiftSector
std::vector< double > trformRotXY_
std::vector< double > trformRotYX_
Abs< T >::type abs(const T &t)
Definition: Abs.h:22
static constexpr int kShiftLayer
std::vector< double > trformTranX_
std::vector< double > trformRotXZ_
static constexpr int kShiftZside
static constexpr int kMaskSector
static constexpr int kMaskSubSec
std::vector< double > trformRotYY_
std::vector< double > trformRotZZ_
std::vector< double > trformTranZ_
static constexpr int kShiftSubSec
std::array< int, 4 > HGCalParameters::getID ( unsigned int  k) const

Definition at line 159 of file HGCalParameters.cc.

References isotrackApplyRegressor::k, kMaskLayer, kMaskSector, kMaskSubSec, kMaskZside, kShiftLayer, kShiftSector, kShiftSubSec, kShiftZside, and trformIndex_.

Referenced by getTrForm().

159  {
160  int zp = ((trformIndex_[k] >> kShiftZside) & kMaskZside);
161  if (zp != 1)
162  zp = -1;
163  int lay = ((trformIndex_[k] >> kShiftLayer) & kMaskLayer);
164  int sec = ((trformIndex_[k] >> kShiftSector) & kMaskSector);
165  int subsec = ((trformIndex_[k] >> kShiftSubSec) & kMaskSubSec);
166  return std::array<int, 4>{{zp, lay, sec, subsec}};
167 }
static constexpr int kMaskZside
static constexpr int kMaskLayer
std::vector< uint32_t > trformIndex_
static constexpr int kShiftSector
static constexpr int kShiftLayer
static constexpr int kShiftZside
static constexpr int kMaskSector
static constexpr int kMaskSubSec
static constexpr int kShiftSubSec
HGCalParameters::hgtrap HGCalParameters::getModule ( unsigned int  k,
bool  reco 
) const

Definition at line 35 of file HGCalParameters.cc.

References HGCalParameters::hgtrap::alpha, HGCalParameters::hgtrap::bl, HGCalParameters::hgtrap::cellSize, HGCalParameters::hgtrap::dz, HGCalParameters::hgtrap::h, isotrackApplyRegressor::k, HGCalParameters::hgtrap::lay, moduleAlphaR_, moduleAlphaS_, moduleBlR_, moduleBlS_, moduleCellR_, moduleCellS_, moduleDzR_, moduleDzS_, moduleHR_, moduleHS_, moduleLayR_, moduleLayS_, moduleTlR_, moduleTlS_, and HGCalParameters::hgtrap::tl.

Referenced by HGCalDDDConstants::getModule(), HGCalDDDConstants::getModules(), HGCalGeomParameters::loadGeometryHexagon(), and HGCalGeomParameters::loadWaferHexagon8().

35  {
37  if (reco) {
38  if (k < moduleLayR_.size()) {
39  mytr.lay = moduleLayR_[k];
40  mytr.bl = moduleBlR_[k];
41  mytr.tl = moduleTlR_[k];
42  mytr.h = moduleHR_[k];
43  mytr.dz = moduleDzR_[k];
44  mytr.alpha = moduleAlphaR_[k];
45  mytr.cellSize = moduleCellR_[k];
46  } else {
47  mytr.lay = -1;
48  mytr.bl = mytr.tl = mytr.h = mytr.dz = mytr.alpha = mytr.cellSize = 0;
49  }
50  } else {
51  if (k < moduleLayS_.size()) {
52  mytr.lay = moduleLayS_[k];
53  mytr.bl = moduleBlS_[k];
54  mytr.tl = moduleTlS_[k];
55  mytr.h = moduleHS_[k];
56  mytr.dz = moduleDzS_[k];
57  mytr.alpha = moduleAlphaS_[k];
58  mytr.cellSize = moduleCellS_[k];
59  } else {
60  mytr.lay = -1;
61  mytr.bl = mytr.tl = mytr.h = mytr.dz = mytr.alpha = mytr.cellSize = 0;
62  }
63  }
64  return mytr;
65 }
std::vector< double > moduleDzR_
std::vector< double > moduleCellR_
std::vector< double > moduleHR_
std::vector< int > moduleLayR_
std::vector< double > moduleHS_
std::vector< double > moduleDzS_
std::vector< double > moduleAlphaR_
std::vector< double > moduleBlR_
std::vector< double > moduleTlS_
std::vector< double > moduleCellS_
std::vector< double > moduleAlphaS_
std::vector< double > moduleBlS_
std::vector< int > moduleLayS_
std::vector< double > moduleTlR_
HGCalParameters::hgtrform HGCalParameters::getTrForm ( unsigned int  k) const

Definition at line 108 of file HGCalParameters.cc.

References TauDecayModes::dec, getID(), HGCalParameters::hgtrform::h3v, HGCalParameters::hgtrform::hr, isotrackApplyRegressor::k, HGCalParameters::hgtrform::lay, idealTransformation::rotation, HGCalParameters::hgtrform::sec, HGCalParameters::hgtrform::subsec, trformIndex_, trformRotXX_, trformRotXY_, trformRotXZ_, trformRotYX_, trformRotYY_, trformRotYZ_, trformRotZX_, trformRotZY_, trformRotZZ_, trformTranX_, trformTranY_, trformTranZ_, and HGCalParameters::hgtrform::zp.

Referenced by HGCalDDDConstants::getTrForm(), and HGCalDDDConstants::getTrForms().

108  {
110  if (k < trformIndex_.size()) {
111  const auto& id = getID(k);
112  mytr.zp = id[0];
113  mytr.lay = id[1];
114  mytr.sec = id[2];
115  mytr.subsec = id[3];
116  mytr.h3v = CLHEP::Hep3Vector(trformTranX_[k], trformTranY_[k], trformTranZ_[k]);
117  const CLHEP::HepRep3x3 rotation(trformRotXX_[k],
118  trformRotXY_[k],
119  trformRotXZ_[k],
120  trformRotYX_[k],
121  trformRotYY_[k],
122  trformRotYZ_[k],
123  trformRotZX_[k],
124  trformRotZY_[k],
125  trformRotZZ_[k]);
126  mytr.hr = CLHEP::HepRotation(rotation);
127  } else {
128  mytr.zp = mytr.lay = mytr.sec = mytr.subsec = 0;
129  }
130 #ifdef EDM_ML_DEBUG
131  edm::LogVerbatim("HGCalGeom") << "HGCalParameters[" << k << "] Index " << std::hex << trformIndex_[k] << std::dec
132  << " (" << mytr.zp << ", " << mytr.lay << ", " << mytr.sec << ", " << mytr.subsec
133  << ") Translation (" << mytr.h3v.x() << ", " << mytr.h3v.y() << ", " << mytr.h3v.z()
134  << ") Rotation (" << mytr.hr.xx() << ", " << mytr.hr.yx() << ", " << mytr.hr.zx()
135  << ", " << mytr.hr.xy() << ", " << mytr.hr.yy() << ", " << mytr.hr.zy() << ", "
136  << mytr.hr.xz() << ", " << mytr.hr.yz() << ", " << mytr.hr.zz();
137 #endif
138  return mytr;
139 }
Log< level::Info, true > LogVerbatim
std::vector< double > trformTranY_
std::vector< double > trformRotZY_
std::vector< uint32_t > trformIndex_
std::vector< double > trformRotXX_
std::vector< double > trformRotZX_
std::vector< double > trformRotYZ_
std::array< int, 4 > getID(unsigned int k) const
std::vector< double > trformRotXY_
std::vector< double > trformRotYX_
std::vector< double > trformTranX_
std::vector< double > trformRotXZ_
std::vector< double > trformRotYY_
std::vector< double > trformRotZZ_
std::vector< double > trformTranZ_
CLHEP::HepRotation hr
void HGCalParameters::scaleTrForm ( double  scale)

Definition at line 150 of file HGCalParameters.cc.

References isotrackApplyRegressor::k, pileupReCalc_HLTpaths::scale, trformTranX_, trformTranY_, and trformTranZ_.

Referenced by HGCalGeomParameters::loadGeometryHexagon().

150  {
151  unsigned int k = trformTranX_.size();
152  if (k > 0) {
153  trformTranX_[k - 1] *= scale;
154  trformTranY_[k - 1] *= scale;
155  trformTranZ_[k - 1] *= scale;
156  }
157 }
std::vector< double > trformTranY_
std::vector< double > trformTranX_
std::vector< double > trformTranZ_
int HGCalParameters::scintCells ( const int  layer) const
inline

Definition at line 66 of file HGCalParameters.h.

References nPhiBinBH_, and scintType().

Referenced by HGCalGeometryLoader::build(), HGCalDDDConstants::getPhiBins(), HGCalGeomParameters::loadSpecParsTrapezoid(), HGCalDDDConstants::maxCells(), and HGCalDDDConstants::numberCells().

66 { return nPhiBinBH_[scintType(layer)]; }
int scintType(const int layer) const
std::vector< int > nPhiBinBH_
constexpr std::array< uint8_t, layerIndexSize > layer
double HGCalParameters::scintCellSize ( const int  layer) const
inline

Definition at line 67 of file HGCalParameters.h.

References cellSize_, and scintType().

Referenced by HGCalDDDConstants::distFromEdgeTrap(), HGCalDDDConstants::getIndex(), HGCalGeomParameters::loadCellTrapezoid(), HGCalGeomParameters::loadSpecParsTrapezoid(), and HGCalDDDConstants::locateCell().

67 { return cellSize_[scintType(layer)]; }
int scintType(const int layer) const
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< double > cellSize_
int HGCalParameters::scintType ( const int  layer) const
inline
template<class Archive >
void HGCalParameters::serialize ( Archive &  ar,
const unsigned int  version 
)
private

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 190 of file HGCalParameters.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 190 of file HGCalParameters.h.

Member Data Documentation

std::vector<double> HGCalParameters::boundR_
std::vector<int> HGCalParameters::cellCoarse_

Definition at line 133 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadCellParsHexagon().

std::vector<bool> HGCalParameters::cellCoarseHalf_
wafer_map HGCalParameters::cellCoarseIndex_
std::vector<double> HGCalParameters::cellCoarseX_
std::vector<double> HGCalParameters::cellCoarseY_
std::vector<int> HGCalParameters::cellFactor_

Definition at line 106 of file HGCalParameters.h.

Referenced by PHGCalParametersDBBuilder::swapParameters().

std::vector<int> HGCalParameters::cellFine_

Definition at line 132 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadCellParsHexagon().

std::vector<bool> HGCalParameters::cellFineHalf_
wafer_map HGCalParameters::cellFineIndex_
std::vector<double> HGCalParameters::cellFineX_
std::vector<double> HGCalParameters::cellFineY_
std::vector<double> HGCalParameters::cellSize_
std::vector<double> HGCalParameters::cellThickness_
int HGCalParameters::choiceType_
layer_map HGCalParameters::copiesInLayers_
bool HGCalParameters::defineFull_
std::vector<int> HGCalParameters::depth_
std::vector<int> HGCalParameters::depthIndex_
std::vector<int> HGCalParameters::depthLayerF_
int HGCalParameters::detectorType_

Definition at line 72 of file HGCalParameters.h.

Referenced by HGCalParametersFromDD::build(), and HGCalDDDConstants::rangeR().

int HGCalParameters::firstLayer_
int HGCalParameters::firstMixedLayer_
std::vector<int> HGCalParameters::firstModule_
double HGCalParameters::fracAreaMin_
std::vector<int> HGCalParameters::iradMaxBH_
std::vector<int> HGCalParameters::iradMinBH_
constexpr uint32_t HGCalParameters::k_CornerSize = 6
static
constexpr double HGCalParameters::k_ScaleFromDD4hep = (1.0 / dd4hep::cm)
static
constexpr double HGCalParameters::k_ScaleFromDD4hepToG4 = (1.0 / dd4hep::mm)
static
constexpr double HGCalParameters::k_ScaleFromDDD = 0.1
static
constexpr double HGCalParameters::k_ScaleFromDDDToG4 = 1.0
static

Definition at line 38 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadGeometryHexagon().

constexpr double HGCalParameters::k_ScaleToDD4hep = dd4hep::cm
static

Definition at line 41 of file HGCalParameters.h.

constexpr double HGCalParameters::k_ScaleToDD4hepFromG4 = dd4hep::mm
static

Definition at line 43 of file HGCalParameters.h.

constexpr double HGCalParameters::k_ScaleToDDD = 10.0
static
constexpr double HGCalParameters::k_ScaleToDDDFromG4 = 1.0
static

Definition at line 39 of file HGCalParameters.h.

constexpr int HGCalParameters::kMaskLayer = 0x7F
staticprivate

Definition at line 194 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kMaskSector = 0x3FF
staticprivate

Definition at line 195 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kMaskSubSec = 0x1
staticprivate

Definition at line 196 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kMaskZside = 0x1
staticprivate

Definition at line 193 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kShiftLayer = 12
staticprivate

Definition at line 198 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kShiftSector = 1
staticprivate

Definition at line 199 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kShiftSubSec = 0
staticprivate

Definition at line 200 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

constexpr int HGCalParameters::kShiftZside = 19
staticprivate

Definition at line 197 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

std::vector<int> HGCalParameters::lastModule_
std::vector<int> HGCalParameters::layer_
std::vector<int> HGCalParameters::layerCenter_
std::vector<int> HGCalParameters::layerFrontBH_
std::vector<int> HGCalParameters::layerGroup_
std::vector<int> HGCalParameters::layerGroupM_
std::vector<int> HGCalParameters::layerGroupO_
std::vector<int> HGCalParameters::layerIndex_
int HGCalParameters::layerOffset_
double HGCalParameters::layerRotation_
std::vector<std::pair<double, double> > HGCalParameters::layerRotV_
std::vector<int> HGCalParameters::layerType_
std::vector<int> HGCalParameters::levelT_
int HGCalParameters::levelZSide_
double HGCalParameters::minTileSize_
HGCalGeometryMode::GeometryMode HGCalParameters::mode_
std::vector<double> HGCalParameters::moduleAlphaR_
std::vector<double> HGCalParameters::moduleAlphaS_
std::vector<double> HGCalParameters::moduleBlR_
std::vector<double> HGCalParameters::moduleBlS_
std::vector<double> HGCalParameters::moduleCellR_
std::vector<double> HGCalParameters::moduleCellS_
std::vector<double> HGCalParameters::moduleDzR_
std::vector<double> HGCalParameters::moduleDzS_
std::vector<double> HGCalParameters::moduleHR_
std::vector<double> HGCalParameters::moduleHS_
std::vector<int> HGCalParameters::moduleLayR_
std::vector<int> HGCalParameters::moduleLayS_
std::vector<double> HGCalParameters::moduleTlR_
std::vector<double> HGCalParameters::moduleTlS_
double HGCalParameters::mouseBite_
std::string HGCalParameters::name_

Definition at line 71 of file HGCalParameters.h.

Referenced by HGCalParameters(), and PHGCalParametersDBBuilder::swapParameters().

int HGCalParameters::nCells_

Definition at line 73 of file HGCalParameters.h.

Referenced by PHGCalParametersDBBuilder::swapParameters().

int HGCalParameters::nCellsCoarse_
int HGCalParameters::nCellsFine_
int HGCalParameters::nCornerCut_
std::vector<int> HGCalParameters::nPhiBinBH_

Definition at line 160 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadSpecParsTrapezoid(), and scintCells().

int HGCalParameters::nSectors_
std::vector<double> HGCalParameters::radius100to200_
std::vector<double> HGCalParameters::radius200to300_
std::vector<double> HGCalParameters::radiusLayer_[2]
std::vector<double> HGCalParameters::radiusMixBoundary_
std::vector<double> HGCalParameters::rLimit_
std::vector<double> HGCalParameters::rMaxFront_
std::vector<double> HGCalParameters::rMaxLayHex_
std::vector<double> HGCalParameters::rMinFront_
std::vector<double> HGCalParameters::rMinLayerBH_
std::vector<double> HGCalParameters::rMinLayHex_
double HGCalParameters::sensorSeparation_
std::vector<double> HGCalParameters::slopeMin_
std::vector<double> HGCalParameters::slopeTop_
tileInfo_map HGCalParameters::tileInfoMap_
std::vector<std::pair<double, double> > HGCalParameters::tileRingR_
std::vector<std::pair<int, int> > HGCalParameters::tileRingRange_
constexpr double HGCalParameters::tol = 1.0e-12
static

Definition at line 45 of file HGCalParameters.h.

Referenced by fillTrForm(), and HGCalGeomParameters::loadGeometryHexagon().

std::vector<uint32_t> HGCalParameters::trformIndex_
std::vector<double> HGCalParameters::trformRotXX_
std::vector<double> HGCalParameters::trformRotXY_
std::vector<double> HGCalParameters::trformRotXZ_
std::vector<double> HGCalParameters::trformRotYX_
std::vector<double> HGCalParameters::trformRotYY_
std::vector<double> HGCalParameters::trformRotYZ_
std::vector<double> HGCalParameters::trformRotZX_
std::vector<double> HGCalParameters::trformRotZY_
std::vector<double> HGCalParameters::trformRotZZ_
std::vector<double> HGCalParameters::trformTranX_
std::vector<double> HGCalParameters::trformTranY_
std::vector<double> HGCalParameters::trformTranZ_
wafer_map HGCalParameters::typesInLayers_
std::vector<int> HGCalParameters::waferCopy_
waferInfo_map HGCalParameters::waferInfoMap_
int HGCalParameters::waferMaskMode_
std::vector<double> HGCalParameters::waferPosX_
std::vector<double> HGCalParameters::waferPosY_
double HGCalParameters::waferR_
wafer_map HGCalParameters::wafersInLayers_
double HGCalParameters::waferSize_
double HGCalParameters::waferThick_
std::vector<double> HGCalParameters::waferThickness_

Definition at line 151 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadSpecParsHexagon8().

std::vector<int> HGCalParameters::waferTypeL_
waferT_map HGCalParameters::waferTypes_
std::vector<int> HGCalParameters::waferTypeT_
int HGCalParameters::waferUVMax_
std::vector<int> HGCalParameters::waferUVMaxLayer_
int HGCalParameters::waferZSide_
std::vector<double> HGCalParameters::xLayerHex_
std::vector<double> HGCalParameters::yLayerHex_
std::vector<double> HGCalParameters::zFrontMin_
std::vector<double> HGCalParameters::zFrontTop_
std::vector<double> HGCalParameters::zLayerHex_
double HGCalParameters::zMinForRad_
std::vector<double> HGCalParameters::zRanges_