25 std::cout <<
"Number of Cells " << numberOfCells <<
":" << numberExpected
40 std::cout <<
"HGCalGeometryLoader with # of transformation matrices " 50 unsigned int kount(0);
51 std::cout <<
"HGCalGeometryLoader:: Z:Layer " << zside <<
":" << layer
55 int sector = mytr.
sec;
56 int subSec = (detType ? mytr.
subsec : 0);
57 const HepGeom::Transform3D ht3d (mytr.
hr, mytr.
h3v);
62 std::cout <<
"HGCalGeometryLoader:: Sector:Subsector " << sector <<
":" 63 << subSec <<
" transf " << ht3d.getTranslation() <<
" and " 64 << ht3d.getRotation();
68 if (vol.
lay == layer) {
69 double alpha = ((detType && subSec == 0) ? -fabs(vol.
alpha) :
72 params[1] = params[2] = 0;
73 params[3] = params[7] = vol.
h;
74 params[4] = params[8] = vol.
bl;
75 params[5] = params[9] = vol.
tl;
76 params[6] = params[10]=
alpha;
90 if (type != 1) type = 0;
93 double xx = (zside > 0) ? w.first : -w.first;
94 CLHEP::Hep3Vector h3v(xx,w.second,mytr.
h3v.z());
95 const HepGeom::Transform3D ht3d (mytr.
hr, h3v);
97 std::cout <<
"HGCalGeometryLoader:: Wafer:Type " << wafer <<
":" 98 << type <<
" DetId " <<
HGCalDetId(detId) << std::hex
100 << ht3d.getTranslation() <<
" and " << ht3d.getRotation();
104 params[1] = params[2] = 0;
105 params[3] = params[7] = vol.
h;
106 params[4] = params[8] = vol.
bl;
107 params[5] = params[9] = vol.
tl;
108 params[6] = params[10]= 0;
120 std::cout << kount <<
" modules found in Layer " << layer <<
" Z " 121 << zside << std::endl;
127 if (counter != numberExpected) {
128 std::cerr <<
"Inconsistent # of cells: expected " << numberExpected <<
":" 129 << numberOfCells <<
" , inited " << counter << std::endl;
130 assert( counter == numberOfCells ) ;
137 const HepGeom::Transform3D& ht3d,
142 for (
unsigned int i=0;
i<12; ++
i)
std::cout <<
" : " << params[
i];
145 std::vector<GlobalPoint> corners (8);
157 0.25*( corners[0].
y() +
161 0.25*( corners[0].
z() +
170 0.25*( corners[4].
y() +
174 0.25*( corners[4].
z() +
181 std::swap_ranges (corners.begin(), corners.begin()+4, corners.begin()+4);
184 geom->
newCell(front, back, corners[0], parmPtr, detId) ;
unsigned int allGeomModules() const
CaloTopology const * topology(0)
double cellSizeHex(int type) const
HGCalParameters::hgtrform getTrForm(unsigned int k) const
HGCalGeometry * build(const HGCalTopology &)
virtual void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
bool detectorType() const
void allocatePar(ParVec::size_type n, unsigned int m)
CaloCellGeometry::CCGFloat CCGFloat
uint32_t rawId() const
get the raw id
unsigned int totalGeomModules() const
unsigned int getTrFormN() const
std::pair< double, double > waferPosition(int wafer, bool reco=true) const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
void buildGeom(const ParmVec &, const HepGeom::Transform3D &, const DetId &, HGCalGeometry *)
const HGCalDDDConstants & dddConstants() const
ForwardSubdetector subDetector() const
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
static std::atomic< unsigned int > counter
void allocateCorners(CaloCellGeometry::CornersVec::size_type n)
std::vector< float > ParmVec
std::vector< float > ParmVec
CaloCellGeometry::CCGFloat CCGFloat
HGCalParameters::hgtrap getModule(unsigned int k, bool hexType, bool reco) const
HGCalGeometryMode geomMode() const
Geometry mode.
int waferTypeT(int wafer) const
bool waferInLayer(int wafer, int lay, bool reco) const
unsigned int volumes() const