21 : theAlignRecordName(
"TrackerAlignmentRcd"), theErrorRecordName(
"TrackerAlignmentErrorExtendedRcd") {
36 for (align::Alignables::const_iterator iter = thePixelEndCapsAlignables.begin();
37 iter != thePixelEndCapsAlignables.end();
40 int id = (*iter)->geomDetId().rawId();
45 align::LocalVector lvector(local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
49 (*iter)->move(gvector);
52 (*iter)->rotateAroundLocalX(local_rotations.at(0));
53 (*iter)->rotateAroundLocalY(local_rotations.at(1));
54 (*iter)->rotateAroundLocalZ(local_rotations.at(2));
65 for (align::Alignables::const_iterator iter = theEndCapsAlignables.begin(); iter != theEndCapsAlignables.end();
68 int id = (*iter)->geomDetId().rawId();
73 align::LocalVector lvector(local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
77 (*iter)->move(gvector);
80 (*iter)->rotateAroundLocalX(local_rotations.at(0));
81 (*iter)->rotateAroundLocalY(local_rotations.at(1));
82 (*iter)->rotateAroundLocalZ(local_rotations.at(2));
93 for (align::Alignables::const_iterator iter = thePixelHalfBarrelsAlignables.begin();
94 iter != thePixelHalfBarrelsAlignables.end();
97 int id = (*iter)->geomDetId().rawId();
102 align::LocalVector lvector(local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
106 (*iter)->move(gvector);
109 (*iter)->rotateAroundLocalX(local_rotations.at(0));
110 (*iter)->rotateAroundLocalY(local_rotations.at(1));
111 (*iter)->rotateAroundLocalZ(local_rotations.at(2));
122 for (align::Alignables::const_iterator iter = theOuterHalfBarrelsAlignables.begin();
123 iter != theOuterHalfBarrelsAlignables.end();
126 int id = (*iter)->geomDetId().rawId();
131 align::LocalVector lvector(local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
135 (*iter)->move(gvector);
138 (*iter)->rotateAroundLocalX(local_rotations.at(0));
139 (*iter)->rotateAroundLocalY(local_rotations.at(1));
140 (*iter)->rotateAroundLocalZ(local_rotations.at(2));
151 for (align::Alignables::const_iterator iter = theInnerHalfBarrelsAlignables.begin();
152 iter != theInnerHalfBarrelsAlignables.end();
155 int id = (*iter)->geomDetId().rawId();
160 align::LocalVector lvector(local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
164 (*iter)->move(gvector);
167 (*iter)->rotateAroundLocalX(local_rotations.at(0));
168 (*iter)->rotateAroundLocalY(local_rotations.at(1));
169 (*iter)->rotateAroundLocalZ(local_rotations.at(2));
180 for (align::Alignables::const_iterator iter = theTIDsAlignables.begin(); iter != theTIDsAlignables.end(); ++iter) {
182 int id = (*iter)->geomDetId().rawId();
187 align::LocalVector lvector(local_displacements.at(0), local_displacements.at(1), local_displacements.at(2));
191 (*iter)->move(gvector);
194 (*iter)->rotateAroundLocalX(local_rotations.at(0));
195 (*iter)->rotateAroundLocalY(local_rotations.at(1));
196 (*iter)->rotateAroundLocalZ(local_rotations.at(2));
210 for (align::Alignables::const_iterator iter = theTIBTIDAlignables.begin(); iter != theTIBTIDAlignables.end();
213 int id = (*iter)->geomDetId().rawId();
218 align::GlobalVector gvector(globalDisplacements.at(0), globalDisplacements.at(1), globalDisplacements.at(2));
219 (*iter)->move(gvector);
224 (*iter)->rotateInGlobalFrame(theResultRotation);
226 (*iter)->rotateInGlobalFrame(backwardRotation);
238 throw cms::Exception(
"NotAvailable") <<
"PoolDBOutputService not available";
Alignables & pixelHalfBarrelGeomDets()
Return pixel barrel GeomDets.
Alignments * alignments() const override
Return alignments, sorted by DetId.
void moveAlignableTIDs(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignablePixelEndCaps(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignableInnerHalfBarrels(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignablePixelHalfBarrels(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
std::string theAlignRecordName
Alignables TIBTIDGeomDets()
Return inner barrel and TID GeomDets together.
Alignables & innerBarrelGeomDets()
Return inner barrel GeomDets.
std::vector< Scalar > Scalars
Alignables & TIDGeomDets()
Return TID GeomDets.
Hash writeOneIOV(const T &payload, Time_t time, const std::string &recordName)
void moveAlignableOuterHalfBarrels(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
void moveAlignableTIBTIDs(int rawId, const align::Scalars &globalDisplacements, const align::RotationType &backwardRotation, const align::RotationType &forwardRotation, bool toAndFro)
std::string theErrorRecordName
Alignables & endcapGeomDets()
Return endcap GeomDets.
Alignables & pixelEndcapGeomDets()
Return pixel endcap GeomDets.
Alignables & outerBarrelGeomDets()
Return outer barrel GeomDets.
void moveAlignableEndCaps(int rawId, const align::Scalars &localDisplacements, const align::Scalars &localRotations)
AlignmentErrorsExtended * alignmentErrors() const override
Return alignment errors, sorted by DetId.
std::vector< Alignable * > Alignables
TrackerAlignment(const TrackerTopology *tTopo, const TrackerGeometry *tGeom)
cond::Time_t currentTime() const
TkRotation transposed() const
AlignableTracker * theAlignableTracker