23 std::cout <<
"Number of Cells " << numberOfCells <<
" for type " << detType
37 std::cout <<
"FastTimeGeometryLoader with # of transformation matrices " 38 << numberOfCells << std::endl;
40 for (
unsigned itr=0; itr<numberOfCells; ++itr) {
41 int zside = (itr == 0) ? 1 : -1;
43 std::cout <<
"FastTimeGeometryLoader:: Z:Layer:Type " << zside
44 <<
":" << detType <<std::endl;
47 const CLHEP::HepRep3x3
rotation = (zside > 0) ?
48 CLHEP::HepRep3x3(1,0,0,0,1,0,0,0,1) :
49 CLHEP::HepRep3x3(-1,0,0,0,1,0,0,0,-1);
50 const CLHEP::HepRotation
hr ( rotation );
51 const CLHEP::Hep3Vector h3v(0,0,zv);
52 const HepGeom::Transform3D ht3d (hr, h3v);
55 std::cout <<
"FastTimeGeometryLoader:: transf " << ht3d.getTranslation()
56 <<
" and " << ht3d.getRotation();
59 params[1] = params[2] = 0;
63 params[6] = params[10]= 0;
65 buildGeom(params, ht3d, detId, topology, geom);
71 if (counter != numberOfCells) {
72 std::cerr <<
"inconsistent # of cells: expected " << numberOfCells
73 <<
" , inited " << counter << std::endl;
74 assert( counter == numberOfCells ) ;
81 const HepGeom::Transform3D& ht3d,
88 for (
unsigned int i=0;
i<12; ++
i)
std::cout <<
" : " << params[
i];
104 0.25*( corners[0].
y() +
108 0.25*( corners[0].
z() +
117 0.25*( corners[4].
y() +
121 0.25*( corners[4].
z() +
128 std::swap_ranges (corners.begin(), corners.begin()+4, corners.begin()+4);
131 geom->
newCell(front, back, corners[0], parmPtr, detId) ;
double getZPos(int type) const
CaloCellGeometry::CCGFloat CCGFloat
unsigned int totalGeomModules() const
CaloTopology const * topology(0)
ForwardSubdetector subDetector() const
CaloCellGeometry::CCGFloat CCGFloat
void allocatePar(ParVec::size_type n, unsigned int m)
void buildGeom(const ParmVec &, const HepGeom::Transform3D &, const DetId &, const FastTimeTopology &, FastTimeGeometry *)
void swap(edm::DataFrameContainer &lhs, edm::DataFrameContainer &rhs)
static const CCGFloat * getParmPtr(const std::vector< CCGFloat > &vd, ParMgr *mgr, ParVecVec &pvv)
std::vector< GlobalPoint > getCorners(int type, int izeta, int iphi, int zside) const
FastTimeGeometry * build(const FastTimeTopology &)
double getRin(int type) const
void newCell(const GlobalPoint &f1, const GlobalPoint &f2, const GlobalPoint &f3, const CCGFloat *parm, const DetId &detId) override
static void createCorners(const std::vector< CCGFloat > &pv, const Tr3D &tr, std::vector< GlobalPoint > &co)
std::vector< float > ParmVec
double getRout(int type) const
static std::atomic< unsigned int > counter
double getZHalf(int type) const
void allocateCorners(CaloCellGeometry::CornersVec::size_type n)
const FastTimeDDDConstants & dddConstants() const
~FastTimeGeometryLoader()
std::vector< float > ParmVec