39 << numberExpected <<
" for sub-detector " 52 <<
"transformation matrices " 63 unsigned int kount(0);
65 <<
":" << layer <<
" z " << mytr.
h3v.z();
74 if (type != 1) type = 0;
77 double xx = (zside > 0) ?
w.first : -
w.first;
78 CLHEP::Hep3Vector h3v(xx,
w.second,mytr.
h3v.z());
79 const HepGeom::Transform3D ht3d (mytr.
hr, h3v);
82 << wafer <<
":" << type <<
" DetId " 85 <<
" transf " << ht3d.getTranslation()
86 <<
" and " << ht3d.getRotation();
107 for (
int iphi=1; iphi<=nphi; ++iphi) {
110 double xx = (zside > 0) ?
w.first : -
w.first;
111 CLHEP::Hep3Vector h3v(xx,
w.second,mytr.
h3v.z());
112 const HepGeom::Transform3D ht3d (mytr.
hr, h3v);
115 << irad*zside <<
":" << iphi <<
":" 118 << std::hex << detId.
rawId()
120 << ht3d.getTranslation() <<
" and " 121 << ht3d.getRotation();
125 params[1] = params[2] = 0;
126 params[3] = params[7] = vol.
h;
127 params[4] = params[8] = vol.
bl;
128 params[5] = params[9] = vol.
tl;
129 params[6] = params[10]= 0;
152 double xx = (zside > 0) ?
w.first : -
w.first;
153 CLHEP::Hep3Vector h3v(xx,
w.second,mytr.
h3v.z());
154 const HepGeom::Transform3D ht3d (mytr.
hr, h3v);
158 << wafer <<
":" << type <<
" DetId " 161 <<
" trans " << ht3d.getTranslation()
162 <<
" and " << ht3d.getRotation();
165 << wafer <<
":" << type <<
" DetId " 168 <<
" trans " << ht3d.getTranslation()
169 <<
" and " << ht3d.getRotation();
186 << layer <<
" Z " <<
zside;
192 if (counter != numberExpected) {
193 edm::LogError(
"HGCalGeom") <<
"Inconsistent # of cells: expected " 194 << numberExpected <<
":" << numberOfCells
196 assert( counter == numberExpected ) ;
203 const HepGeom::Transform3D& ht3d,
224 0.25 * ( corners[0].
y() +
228 0.25 * ( corners[0].
z() +
237 0.25 * ( corners[4].
y() +
241 0.25 * ( corners[4].
z() +
251 geom->
newCell(front, back, corners[0], parmPtr, detId) ;
297 corners[11].
z() ) ) ;
304 geom->
newCell(front, back, corners[0], parmPtr, detId) ;
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
HGCalGeometryMode::GeometryMode geomMode() const
Geometry mode.
static constexpr unsigned int ncornerBy2_
unsigned int allGeomModules() const
int scintType(const int layer) const
CaloTopology const * topology(0)
double cellSizeHex(int type) const
HGCalParameters::hgtrform getTrForm(unsigned int k) const
static int32_t waferV(const int32_t index)
const HGCalParameters * getParameter() const
HGCalGeometry * build(const HGCalTopology &)
constexpr uint32_t rawId() const
get the raw id
int getTypeHex(int layer, int waferU, int waferV) const
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
void allocatePar(ParVec::size_type n, unsigned int m)
CaloCellGeometry::CCGFloat CCGFloat
int layerIndex(int lay, bool reco) const
static constexpr unsigned int ncorner_
unsigned int totalGeomModules() const
static constexpr unsigned int ncorner_
std::vector< int > firstModule_
static unsigned int k_NumberOfShapes
unsigned int getTrFormN() const
static unsigned int k_NumberOfParametersPerHex
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::pair< float, float > locateCellTrap(int lay, int ieta, int iphi, bool reco) const
static unsigned int k_NumberOfShapesTrd
int scintCells(const int layer) const
static int32_t waferU(const int32_t index)
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
static unsigned int k_NumberOfParametersPerTrd
static constexpr unsigned int ncornerBy2_
std::vector< int > lastModule_
const HGCalDDDConstants & dddConstants() const
ForwardSubdetector subDetector() const
std::vector< int > iradMinBH_
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
static std::atomic< unsigned int > counter
std::vector< int > waferCopy_
std::pair< double, double > waferPosition(int wafer, bool reco) const
void allocateCorners(CaloCellGeometry::CornersVec::size_type n)
std::vector< float > ParmVec
std::vector< float > ParmVec
CaloCellGeometry::CCGFloat CCGFloat
DetId::Detector detector() const
HGCalParameters::hgtrap getModule(unsigned int k, bool hexType, bool reco) const
void buildGeom(const ParmVec &, const HepGeom::Transform3D &, const DetId &, HGCalGeometry *, int mode)
int waferTypeT(int wafer) const
static constexpr double oneBySix_
bool waferInLayer(int wafer, int lay, bool reco) const
unsigned int volumes() const