CMS 3D CMS Logo

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, tileInfotileInfo_map
 
typedef std::unordered_map< int32_t, int32_t > wafer_map
 
typedef std::unordered_map< int32_t, waferInfowaferInfo_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)=default
 

Public Attributes

std::vector< double > boundR_
 
std::vector< int > calibCellFullHD_
 
std::vector< int > calibCellFullLD_
 
std::vector< int > calibCellPartHD_
 
std::vector< int > calibCellPartLD_
 
double calibCellRHD_ = 0.
 
double calibCellRLD_ = 0.
 
int cassettes_ = 0
 
std::vector< double > cassetteShift_
 
std::vector< double > cassetteShiftTile_
 
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_ = 0
 
layer_map copiesInLayers_
 
bool defineFull_ = false
 
std::vector< int > depth_
 
std::vector< int > depthIndex_
 
std::vector< int > depthLayerF_
 
int detectorType_ = 0
 
int firstLayer_ = 0
 
int firstMixedLayer_ = 0
 
std::vector< int > firstModule_
 
double fracAreaMin_ = 0.
 
double guardRingOffset_ = 0.
 
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_ = 0
 
double layerRotation_ = 0.
 
std::vector< std::pair< double, double > > layerRotV_
 
std::vector< int > layerType_
 
std::vector< int > levelT_
 
int levelZSide_ = 0
 
double minTileSize_ = 0.
 
HGCalGeometryMode::GeometryMode mode_ = HGCalGeometryMode::Square
 
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_ = 0.
 
std::string name_
 
int nCells_ = 0
 
int nCellsCoarse_ = 0
 
int nCellsFine_ = 0
 
int nCornerCut_ = 0
 
std::vector< int > nPhiBinBH_
 
int nphiCassette_ = 0
 
int nphiFineCassette_ = 0
 
std::vector< int > nPhiLayer_
 
int nSectors_ = 0
 
int phiOffset_ = 0
 
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_ = 0.
 
double sensorSizeOffset_ = 0.
 
std::vector< double > slopeMin_
 
std::vector< double > slopeTop_
 
tileInfo_map tileInfoMap_
 
std::vector< std::pair< double, double > > tileRingFineR_
 
std::vector< std::pair< int, int > > tileRingFineRange_
 
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_
 
int useOffset_ = 0
 
int useSimWt_ = 0
 
std::vector< int > waferCopy_
 
waferInfo_map waferInfoMap_
 
int waferMaskMode_ = 0
 
std::vector< double > waferPosX_
 
std::vector< double > waferPosY_
 
double waferR_ = 0.
 
wafer_map wafersInLayers_
 
double waferSize_ = 0.
 
double waferThick_ = 0.
 
std::vector< double > waferThickness_
 
std::vector< int > waferTypeL_
 
waferT_map waferTypes_
 
std::vector< int > waferTypeT_
 
int waferUVMax_ = 0
 
std::vector< int > waferUVMaxLayer_
 
int waferZSide_ = 0
 
std::vector< double > xLayerHex_
 
std::vector< double > yLayerHex_
 
std::vector< double > zFrontMin_
 
std::vector< double > zFrontTop_
 
std::vector< double > zLayerHex_
 
double zMinForRad_ = 0.
 
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_ScaleFromDDD2 = 0.01
 
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_ScaleToDDD2 = 100.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 15 of file HGCalParameters.h.

Member Typedef Documentation

◆ layer_map

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

Definition at line 40 of file HGCalParameters.h.

◆ tileInfo_map

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

Definition at line 44 of file HGCalParameters.h.

◆ wafer_map

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

Definition at line 41 of file HGCalParameters.h.

◆ waferInfo_map

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

Definition at line 43 of file HGCalParameters.h.

◆ waferT_map

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

Definition at line 42 of file HGCalParameters.h.

Constructor & Destructor Documentation

◆ HGCalParameters()

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

Definition at line 9 of file HGCalParameters.cc.

References name_.

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

◆ ~HGCalParameters()

HGCalParameters::~HGCalParameters ( void  )
default

Member Function Documentation

◆ addTrForm()

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_

◆ fillModule()

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_
fixed size matrix
std::vector< double > moduleBlS_
std::vector< int > moduleLayS_
std::vector< double > moduleTlR_

◆ fillTrForm()

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

◆ getID()

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, fileinputsource_cfi::sec, 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

◆ getModule()

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_
fixed size matrix
std::vector< double > moduleBlS_
std::vector< int > moduleLayS_
std::vector< double > moduleTlR_

◆ getTrForm()

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::array< int, 4 > getID(unsigned int k) const
std::vector< double > trformRotZY_
std::vector< uint32_t > trformIndex_
std::vector< double > trformRotXX_
std::vector< double > trformRotZX_
std::vector< double > trformRotYZ_
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

◆ scaleTrForm()

void HGCalParameters::scaleTrForm ( double  scale)

Definition at line 150 of file HGCalParameters.cc.

References isotrackApplyRegressor::k, isotrackNtupler::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_

◆ scintCells()

int HGCalParameters::scintCells ( const int  layer) const
inline

◆ scintCellSize()

double HGCalParameters::scintCellSize ( const int  layer) const
inline

◆ scintType()

int HGCalParameters::scintType ( const int  layer) const
inline

◆ serialize()

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

Friends And Related Function Documentation

◆ boost::serialization::access

friend class boost::serialization::access
friend

Definition at line 222 of file HGCalParameters.h.

◆ cond::serialization::access

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

Definition at line 222 of file HGCalParameters.h.

Member Data Documentation

◆ boundR_

std::vector<double> HGCalParameters::boundR_

◆ calibCellFullHD_

std::vector<int> HGCalParameters::calibCellFullHD_

◆ calibCellFullLD_

std::vector<int> HGCalParameters::calibCellFullLD_

◆ calibCellPartHD_

std::vector<int> HGCalParameters::calibCellPartHD_

◆ calibCellPartLD_

std::vector<int> HGCalParameters::calibCellPartLD_

◆ calibCellRHD_

double HGCalParameters::calibCellRHD_ = 0.

◆ calibCellRLD_

double HGCalParameters::calibCellRLD_ = 0.

◆ cassettes_

int HGCalParameters::cassettes_ = 0

◆ cassetteShift_

std::vector<double> HGCalParameters::cassetteShift_

◆ cassetteShiftTile_

std::vector<double> HGCalParameters::cassetteShiftTile_

Definition at line 214 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadSpecParsTrapezoid().

◆ cellCoarse_

std::vector<int> HGCalParameters::cellCoarse_

Definition at line 157 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadCellParsHexagon().

◆ cellCoarseHalf_

std::vector<bool> HGCalParameters::cellCoarseHalf_

◆ cellCoarseIndex_

wafer_map HGCalParameters::cellCoarseIndex_

◆ cellCoarseX_

std::vector<double> HGCalParameters::cellCoarseX_

◆ cellCoarseY_

std::vector<double> HGCalParameters::cellCoarseY_

◆ cellFactor_

std::vector<int> HGCalParameters::cellFactor_

Definition at line 146 of file HGCalParameters.h.

Referenced by PHGCalParametersDBBuilder::swapParameters().

◆ cellFine_

std::vector<int> HGCalParameters::cellFine_

Definition at line 156 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadCellParsHexagon().

◆ cellFineHalf_

std::vector<bool> HGCalParameters::cellFineHalf_

◆ cellFineIndex_

wafer_map HGCalParameters::cellFineIndex_

◆ cellFineX_

std::vector<double> HGCalParameters::cellFineX_

◆ cellFineY_

std::vector<double> HGCalParameters::cellFineY_

◆ cellSize_

std::vector<double> HGCalParameters::cellSize_

◆ cellThickness_

std::vector<double> HGCalParameters::cellThickness_

◆ choiceType_

int HGCalParameters::choiceType_ = 0

◆ copiesInLayers_

layer_map HGCalParameters::copiesInLayers_

◆ defineFull_

bool HGCalParameters::defineFull_ = false

◆ depth_

std::vector<int> HGCalParameters::depth_

◆ depthIndex_

std::vector<int> HGCalParameters::depthIndex_

◆ depthLayerF_

std::vector<int> HGCalParameters::depthLayerF_

◆ detectorType_

int HGCalParameters::detectorType_ = 0

Definition at line 84 of file HGCalParameters.h.

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

◆ firstLayer_

int HGCalParameters::firstLayer_ = 0

◆ firstMixedLayer_

int HGCalParameters::firstMixedLayer_ = 0

◆ firstModule_

std::vector<int> HGCalParameters::firstModule_

◆ fracAreaMin_

double HGCalParameters::fracAreaMin_ = 0.

◆ guardRingOffset_

double HGCalParameters::guardRingOffset_ = 0.

◆ iradMaxBH_

std::vector<int> HGCalParameters::iradMaxBH_

◆ iradMinBH_

std::vector<int> HGCalParameters::iradMinBH_

◆ k_CornerSize

constexpr uint32_t HGCalParameters::k_CornerSize = 6
static

◆ k_ScaleFromDD4hep

constexpr double HGCalParameters::k_ScaleFromDD4hep = (1.0 / dd4hep::cm)
static

◆ k_ScaleFromDD4hepToG4

constexpr double HGCalParameters::k_ScaleFromDD4hepToG4 = (1.0 / dd4hep::mm)
static

◆ k_ScaleFromDDD

constexpr double HGCalParameters::k_ScaleFromDDD = 0.1
static

◆ k_ScaleFromDDD2

constexpr double HGCalParameters::k_ScaleFromDDD2 = 0.01
static

Definition at line 47 of file HGCalParameters.h.

◆ k_ScaleFromDDDToG4

constexpr double HGCalParameters::k_ScaleFromDDDToG4 = 1.0
static

Definition at line 50 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadGeometryHexagon().

◆ k_ScaleToDD4hep

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

Definition at line 53 of file HGCalParameters.h.

◆ k_ScaleToDD4hepFromG4

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

Definition at line 55 of file HGCalParameters.h.

◆ k_ScaleToDDD

constexpr double HGCalParameters::k_ScaleToDDD = 10.0
static

◆ k_ScaleToDDD2

constexpr double HGCalParameters::k_ScaleToDDD2 = 100.0
static

Definition at line 49 of file HGCalParameters.h.

Referenced by HGCalCellOffset::cellAreaUV().

◆ k_ScaleToDDDFromG4

constexpr double HGCalParameters::k_ScaleToDDDFromG4 = 1.0
static

Definition at line 51 of file HGCalParameters.h.

◆ kMaskLayer

constexpr int HGCalParameters::kMaskLayer = 0x7F
staticprivate

Definition at line 226 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kMaskSector

constexpr int HGCalParameters::kMaskSector = 0x3FF
staticprivate

Definition at line 227 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kMaskSubSec

constexpr int HGCalParameters::kMaskSubSec = 0x1
staticprivate

Definition at line 228 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kMaskZside

constexpr int HGCalParameters::kMaskZside = 0x1
staticprivate

Definition at line 225 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kShiftLayer

constexpr int HGCalParameters::kShiftLayer = 12
staticprivate

Definition at line 230 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kShiftSector

constexpr int HGCalParameters::kShiftSector = 1
staticprivate

Definition at line 231 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kShiftSubSec

constexpr int HGCalParameters::kShiftSubSec = 0
staticprivate

Definition at line 232 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ kShiftZside

constexpr int HGCalParameters::kShiftZside = 19
staticprivate

Definition at line 229 of file HGCalParameters.h.

Referenced by fillTrForm(), and getID().

◆ lastModule_

std::vector<int> HGCalParameters::lastModule_

◆ layer_

std::vector<int> HGCalParameters::layer_

◆ layerCenter_

std::vector<int> HGCalParameters::layerCenter_

◆ layerFrontBH_

std::vector<int> HGCalParameters::layerFrontBH_

◆ layerGroup_

std::vector<int> HGCalParameters::layerGroup_

◆ layerGroupM_

std::vector<int> HGCalParameters::layerGroupM_

◆ layerGroupO_

std::vector<int> HGCalParameters::layerGroupO_

◆ layerIndex_

std::vector<int> HGCalParameters::layerIndex_

◆ layerOffset_

int HGCalParameters::layerOffset_ = 0

◆ layerRotation_

double HGCalParameters::layerRotation_ = 0.

◆ layerRotV_

std::vector<std::pair<double, double> > HGCalParameters::layerRotV_

◆ layerType_

std::vector<int> HGCalParameters::layerType_

◆ levelT_

std::vector<int> HGCalParameters::levelT_

◆ levelZSide_

int HGCalParameters::levelZSide_ = 0

◆ minTileSize_

double HGCalParameters::minTileSize_ = 0.

◆ mode_

◆ moduleAlphaR_

std::vector<double> HGCalParameters::moduleAlphaR_

◆ moduleAlphaS_

std::vector<double> HGCalParameters::moduleAlphaS_

◆ moduleBlR_

std::vector<double> HGCalParameters::moduleBlR_

◆ moduleBlS_

std::vector<double> HGCalParameters::moduleBlS_

◆ moduleCellR_

std::vector<double> HGCalParameters::moduleCellR_

◆ moduleCellS_

std::vector<double> HGCalParameters::moduleCellS_

◆ moduleDzR_

std::vector<double> HGCalParameters::moduleDzR_

◆ moduleDzS_

std::vector<double> HGCalParameters::moduleDzS_

◆ moduleHR_

std::vector<double> HGCalParameters::moduleHR_

◆ moduleHS_

std::vector<double> HGCalParameters::moduleHS_

◆ moduleLayR_

std::vector<int> HGCalParameters::moduleLayR_

◆ moduleLayS_

std::vector<int> HGCalParameters::moduleLayS_

◆ moduleTlR_

std::vector<double> HGCalParameters::moduleTlR_

◆ moduleTlS_

std::vector<double> HGCalParameters::moduleTlS_

◆ mouseBite_

double HGCalParameters::mouseBite_ = 0.

◆ name_

std::string HGCalParameters::name_

Definition at line 83 of file HGCalParameters.h.

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

◆ nCells_

int HGCalParameters::nCells_ = 0

Definition at line 86 of file HGCalParameters.h.

Referenced by PHGCalParametersDBBuilder::swapParameters().

◆ nCellsCoarse_

int HGCalParameters::nCellsCoarse_ = 0

◆ nCellsFine_

int HGCalParameters::nCellsFine_ = 0

◆ nCornerCut_

int HGCalParameters::nCornerCut_ = 0

◆ nPhiBinBH_

std::vector<int> HGCalParameters::nPhiBinBH_

◆ nphiCassette_

int HGCalParameters::nphiCassette_ = 0

◆ nphiFineCassette_

int HGCalParameters::nphiFineCassette_ = 0

Definition at line 211 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadSpecParsTrapezoid().

◆ nPhiLayer_

std::vector<int> HGCalParameters::nPhiLayer_

◆ nSectors_

int HGCalParameters::nSectors_ = 0

◆ phiOffset_

int HGCalParameters::phiOffset_ = 0

◆ radius100to200_

std::vector<double> HGCalParameters::radius100to200_

◆ radius200to300_

std::vector<double> HGCalParameters::radius200to300_

◆ radiusLayer_

std::vector<double> HGCalParameters::radiusLayer_[2]

◆ radiusMixBoundary_

std::vector<double> HGCalParameters::radiusMixBoundary_

◆ rLimit_

std::vector<double> HGCalParameters::rLimit_

◆ rMaxFront_

std::vector<double> HGCalParameters::rMaxFront_

◆ rMaxLayHex_

std::vector<double> HGCalParameters::rMaxLayHex_

◆ rMinFront_

std::vector<double> HGCalParameters::rMinFront_

◆ rMinLayerBH_

std::vector<double> HGCalParameters::rMinLayerBH_

◆ rMinLayHex_

std::vector<double> HGCalParameters::rMinLayHex_

◆ sensorSeparation_

double HGCalParameters::sensorSeparation_ = 0.

◆ sensorSizeOffset_

double HGCalParameters::sensorSizeOffset_ = 0.

◆ slopeMin_

std::vector<double> HGCalParameters::slopeMin_

◆ slopeTop_

std::vector<double> HGCalParameters::slopeTop_

◆ tileInfoMap_

tileInfo_map HGCalParameters::tileInfoMap_

◆ tileRingFineR_

std::vector<std::pair<double, double> > HGCalParameters::tileRingFineR_

◆ tileRingFineRange_

std::vector<std::pair<int, int> > HGCalParameters::tileRingFineRange_

◆ tileRingR_

std::vector<std::pair<double, double> > HGCalParameters::tileRingR_

◆ tileRingRange_

std::vector<std::pair<int, int> > HGCalParameters::tileRingRange_

◆ tol

constexpr double HGCalParameters::tol = 1.0e-12
static

Definition at line 57 of file HGCalParameters.h.

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

◆ trformIndex_

std::vector<uint32_t> HGCalParameters::trformIndex_

◆ trformRotXX_

std::vector<double> HGCalParameters::trformRotXX_

◆ trformRotXY_

std::vector<double> HGCalParameters::trformRotXY_

◆ trformRotXZ_

std::vector<double> HGCalParameters::trformRotXZ_

◆ trformRotYX_

std::vector<double> HGCalParameters::trformRotYX_

◆ trformRotYY_

std::vector<double> HGCalParameters::trformRotYY_

◆ trformRotYZ_

std::vector<double> HGCalParameters::trformRotYZ_

◆ trformRotZX_

std::vector<double> HGCalParameters::trformRotZX_

◆ trformRotZY_

std::vector<double> HGCalParameters::trformRotZY_

◆ trformRotZZ_

std::vector<double> HGCalParameters::trformRotZZ_

◆ trformTranX_

std::vector<double> HGCalParameters::trformTranX_

◆ trformTranY_

std::vector<double> HGCalParameters::trformTranY_

◆ trformTranZ_

std::vector<double> HGCalParameters::trformTranZ_

◆ typesInLayers_

wafer_map HGCalParameters::typesInLayers_

◆ useOffset_

int HGCalParameters::useOffset_ = 0

◆ useSimWt_

int HGCalParameters::useSimWt_ = 0

◆ waferCopy_

std::vector<int> HGCalParameters::waferCopy_

◆ waferInfoMap_

waferInfo_map HGCalParameters::waferInfoMap_

◆ waferMaskMode_

int HGCalParameters::waferMaskMode_ = 0

◆ waferPosX_

std::vector<double> HGCalParameters::waferPosX_

◆ waferPosY_

std::vector<double> HGCalParameters::waferPosY_

◆ waferR_

double HGCalParameters::waferR_ = 0.

◆ wafersInLayers_

wafer_map HGCalParameters::wafersInLayers_

◆ waferSize_

double HGCalParameters::waferSize_ = 0.

◆ waferThick_

double HGCalParameters::waferThick_ = 0.

◆ waferThickness_

std::vector<double> HGCalParameters::waferThickness_

Definition at line 174 of file HGCalParameters.h.

Referenced by HGCalGeomParameters::loadSpecParsHexagon8().

◆ waferTypeL_

std::vector<int> HGCalParameters::waferTypeL_

◆ waferTypes_

waferT_map HGCalParameters::waferTypes_

◆ waferTypeT_

std::vector<int> HGCalParameters::waferTypeT_

◆ waferUVMax_

int HGCalParameters::waferUVMax_ = 0

◆ waferUVMaxLayer_

std::vector<int> HGCalParameters::waferUVMaxLayer_

◆ waferZSide_

int HGCalParameters::waferZSide_ = 0

◆ xLayerHex_

std::vector<double> HGCalParameters::xLayerHex_

◆ yLayerHex_

std::vector<double> HGCalParameters::yLayerHex_

◆ zFrontMin_

std::vector<double> HGCalParameters::zFrontMin_

◆ zFrontTop_

std::vector<double> HGCalParameters::zFrontTop_

◆ zLayerHex_

std::vector<double> HGCalParameters::zLayerHex_

◆ zMinForRad_

double HGCalParameters::zMinForRad_ = 0.

◆ zRanges_

std::vector<double> HGCalParameters::zRanges_