16 name =
"HGCalEESensitive";
17 std::cout <<
"Reading HGCalGeometry " << name.c_str() <<
"\n";
46 ptr->allocateCorners( topology->
ncells());
50 const unsigned int nTrParm( ptr->numberOfTransformParms());
57 int layer = ivec[ it ];
60 const unsigned int jj ( it * nTrParm );
62 const ROOT::Math::Translation3D tl( tvec[jj], tvec[jj+1], tvec[jj+2]);
66 const ROOT::Math::Transform3D rt( ea, tl );
67 double xx,
xy,
xz,
dx, yx,
yy,
yz,
dy, zx, zy,
zz,
dz;
68 rt.GetComponents(xx,xy,xz,dx,yx,yy,yz,dy,zx,zy,zz,dz) ;
69 tr =
Tr3D( CLHEP::HepRep3x3( xx, xy, xz,
72 CLHEP::Hep3Vector( dx, dy, dz));
76 dims.reserve( nPerShape );
78 DimVec::const_iterator dsrc( dvec.begin() + layer * nPerShape );
79 for(
unsigned int j ( 0 ) ; j != nPerShape ; ++j )
81 dims.emplace_back( *dsrc ) ;
132 std::swap_ranges (corners.begin(),
137 ptr->newCell( front, back, corners[0], myParm,
id );
140 ptr->initializeParms();
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
CaloTopology const * topology(0)
std::vector< float > const & getTranslation() const
static constexpr unsigned int ncorner_
std::vector< float > const & getDimension() const
CaloSubdetectorGeometry::IVec IVec
unsigned int totalGeomModules() const
static unsigned int k_NumberOfShapes
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
DetId encode(const DecodedDetId &id_) const
const DepRecordT getRecord() const
static std::string dbString()
virtual unsigned int ncells() const
return a count of valid cells (for dense indexing use)
std::unique_ptr< CaloSubdetectorGeometry > PtrType
PtrType produceAligned(const typename T::AlignedRecord &iRecord)
CaloSubdetectorGeometry::TrVec TrVec
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
DecodedDetId geomDenseId2decId(const uint32_t &hi) const
static constexpr unsigned int ncornerBy2_
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
AlgebraicVector EulerAngles
void getSummary(CaloSubdetectorGeometry::TrVec &trVector, CaloSubdetectorGeometry::IVec &iVector, CaloSubdetectorGeometry::DimVec &dimVector, CaloSubdetectorGeometry::IVec &dinsVector) const override
static unsigned int k_NumberOfParametersPerShape
CaloCellGeometry::Tr3D Tr3D
CaloCellGeometry::Tr3D Tr3D
CaloGeometryDBEP< HGCalGeometry, CaloGeometryDBReader > HGCalGeometryFromDBEP
CaloSubdetectorGeometry::DimVec DimVec
T const * product() const
CaloCellGeometry::CCGFloat CCGFloat
std::vector< uint32_t > const & getIndexes() const
static constexpr double oneBySix_
std::vector< uint32_t > const & getDenseIndices() const
static void writeIndexed(const TrVec &, const DimVec &, const IVec &, const std::vector< uint32_t > &, const std::string &)