25 std::cout <<
"Number of Cells " << numberOfCells <<
" for type " << detType
39 std::cout <<
"FastTimeGeometryLoader with # of transformation matrices " 40 << numberOfCells << std::endl;
42 for (
unsigned itr=0; itr<numberOfCells; ++itr) {
43 int zside = (itr == 0) ? 1 : -1;
45 std::cout <<
"FastTimeGeometryLoader:: Z:Layer:Type " << zside
46 <<
":" << detType <<std::endl;
49 const CLHEP::HepRep3x3
rotation = (zside > 0) ?
50 CLHEP::HepRep3x3(1,0,0,0,1,0,0,0,1) :
51 CLHEP::HepRep3x3(-1,0,0,0,1,0,0,0,-1);
52 const CLHEP::HepRotation
hr ( rotation );
53 const CLHEP::Hep3Vector h3v(0,0,zv);
54 const HepGeom::Transform3D ht3d (hr, h3v);
57 std::cout <<
"FastTimeGeometryLoader:: transf " << ht3d.getTranslation()
58 <<
" and " << ht3d.getRotation();
61 params[1] = params[2] = 0;
65 params[6] = params[10]= 0;
67 buildGeom(params, ht3d, detId, topology, geom);
73 if (counter != numberOfCells) {
74 std::cerr <<
"inconsistent # of cells: expected " << numberOfCells
75 <<
" , inited " << counter << std::endl;
76 assert( counter == numberOfCells ) ;
83 const HepGeom::Transform3D& ht3d,
90 for (
unsigned int i=0;
i<12; ++
i)
std::cout <<
" : " << params[
i];
106 0.25*( corners[0].
y() +
110 0.25*( corners[0].
z() +
119 0.25*( corners[4].
y() +
123 0.25*( corners[4].
z() +
130 std::swap_ranges (corners.begin(), corners.begin()+4, corners.begin()+4);
133 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
virtual 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