25 std::cout <<
"Number of Cells " << numberOfCells <<
":" << numberExpected
40 std::cout <<
"HGCalGeometryLoader with # of transformation matrices "
50 std::cout <<
"HGCalGeometryLoader:: Z:Layer:Sector:Subsector " << zside
51 <<
":" << layer <<std::endl;
54 int sector = mytr.
sec;
55 int subSec = (detType ? mytr.
subsec : 0);
56 const HepGeom::Transform3D ht3d (mytr.
hr, mytr.
h3v);
61 std::cout <<
"HGCalGeometryLoader:: Sector:Subsector " << sector <<
":"
62 << subSec <<
" transf " << ht3d.getTranslation() <<
" and "
63 << ht3d.getRotation();
67 if (vol.
lay == layer) {
68 double alpha = ((detType && subSec == 0) ? -fabs(vol.
alpha) :
71 params[1] = params[2] = 0;
72 params[3] = params[7] = vol.
h;
73 params[4] = params[8] = vol.
bl;
74 params[5] = params[9] = vol.
tl;
75 params[6] = params[10]=
alpha;
86 if (type != 1) type = 0;
89 double xx = (zside > 0) ? w.first : -w.first;
90 CLHEP::Hep3Vector h3v(xx,w.second,mytr.
h3v.z());
91 const HepGeom::Transform3D ht3d (mytr.
hr, h3v);
93 std::cout <<
"HGCalGeometryLoader:: Wafer:Type " << wafer <<
":"
94 << type <<
" transf " << ht3d.getTranslation() <<
" and "
95 << ht3d.getRotation();
99 params[1] = params[2] = 0;
100 params[3] = params[7] = vol.
h;
101 params[4] = params[8] = vol.
bl;
102 params[5] = params[9] = vol.
tl;
103 params[6] = params[10]= 0;
115 if (counter != numberExpected) {
116 std::cerr <<
"inconsistent # of cells: expected " << numberExpected <<
":"
117 << numberOfCells <<
" , inited " << counter << std::endl;
118 assert( counter == numberOfCells ) ;
125 const HepGeom::Transform3D& ht3d,
130 for (
unsigned int i=0;
i<12; ++
i)
std::cout <<
" : " << params[
i];
133 std::vector<GlobalPoint> corners (8);
145 0.25*( corners[0].
y() +
149 0.25*( corners[0].
z() +
158 0.25*( corners[4].
y() +
162 0.25*( corners[4].
z() +
169 std::swap_ranges (corners.begin(), corners.begin()+4, corners.begin()+4);
172 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)
unsigned int totalGeomModules() const
unsigned int getTrFormN() const
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
std::vector< float > ParmVec
CaloCellGeometry::CCGFloat CCGFloat
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
std::pair< double, double > waferPosition(int wafer) const
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
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