#include <AlignableDetUnit.h>
Public Member Functions | |
void | addAlignmentPositionError (const AlignmentPositionError &ape, bool) final |
void | addAlignmentPositionErrorFromLocalRotation (const RotationType &rot, bool) final |
void | addAlignmentPositionErrorFromRotation (const RotationType &rot, bool) final |
void | addComponent (Alignable *) final |
No components here => exception! More... | |
void | addSurfaceDeformation (const SurfaceDeformation *deformation, bool) final |
Add surface deformation parameters to the existing ones (2nd argument without effect) More... | |
AlignableDetUnit (const GeomDetUnit *geomDetUnit) | |
Constructor from GeomDetUnit - must not be NULL pointer! More... | |
StructureType | alignableObjectId () const override |
Return the alignable type identifier. More... | |
AlignmentErrorsExtended * | alignmentErrors () const override |
Return vector of alignment errors. More... | |
const AlignmentPositionError * | alignmentPositionError () const |
alignment position error - for checking only, otherwise use alignmentErrors() above! More... | |
Alignments * | alignments () const override |
Return vector of alignment data. More... | |
void | cacheTransformation () override |
cache the current position, rotation and other parameters (e.g. surface deformations) More... | |
void | cacheTransformation (const align::RunNumber &) override |
cache for the given run the current position, rotation and other parameters (e.g. surface deformations) More... | |
const Alignables & | components () const override |
Returns a null vector (no components here) More... | |
void | dump () const override |
Printout information about GeomDet. More... | |
void | move (const GlobalVector &displacement) override |
Move with respect to the global reference frame. More... | |
void | recursiveComponents (Alignables &result) const override |
Do nothing (no components here, so no subcomponents either...) More... | |
void | restoreCachedTransformation () override |
restore the previously cached transformation More... | |
void | restoreCachedTransformation (const align::RunNumber &) override |
restore for the given run the previously cached transformation More... | |
void | rotateInGlobalFrame (const RotationType &rotation) override |
Rotation with respect to the global reference frame. More... | |
void | setAlignmentPositionError (const AlignmentPositionError &ape, bool) final |
Set the AlignmentPositionError (no components => second argument ignored) More... | |
void | setSurfaceDeformation (const SurfaceDeformation *deformation, bool) final |
Set surface deformation parameters (2nd argument without effect) More... | |
int | surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const override |
Return surface deformations. More... | |
void | update (const GeomDetUnit *geomDetUnit) |
~AlignableDetUnit () override | |
Destructor. More... | |
Public Member Functions inherited from Alignable | |
Alignable (align::ID, const AlignableSurface &) | |
Alignable (align::ID, const RotationType &) | |
AlignmentParameters * | alignmentParameters () const |
Get the AlignmentParameters. More... | |
virtual CompConstraintType | compConstraintType () const |
Return the alignable type of contraints wrt. its components. More... | |
const Alignables & | deepComponents () const |
const GlobalVector & | displacement () const |
Return change of the global position since the creation of the object. More... | |
bool | firstCompsWithParams (Alignables ¶mComps) const |
const DetId & | geomDetId () const |
const PositionType & | globalPosition () const |
Return the global position of the object. More... | |
const RotationType & | globalRotation () const |
Return the global orientation of the object. More... | |
align::ID | id () const |
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit). More... | |
bool | lastCompsWithParams (Alignables ¶mComps) const |
Alignable * | mother () const |
Return pointer to container alignable (if any) More... | |
virtual void | recenterSurface () |
Recenter surface object without moving possible components. More... | |
virtual void | rotateAroundGlobalAxis (const GlobalVector &axis, Scalar radians) |
Rotation around arbitratry global axis. More... | |
virtual void | rotateAroundGlobalX (Scalar radians) |
Rotation around global x-axis. More... | |
virtual void | rotateAroundGlobalY (Scalar radians) |
Rotation around global y-axis. More... | |
virtual void | rotateAroundGlobalZ (Scalar radians) |
Rotation around global z-axis. More... | |
virtual void | rotateAroundLocalAxis (const LocalVector &axis, Scalar radians) |
Rotation around arbitratry local axis. More... | |
virtual void | rotateAroundLocalX (Scalar radians) |
Rotation around local x-axis. More... | |
virtual void | rotateAroundLocalY (Scalar radians) |
Rotation around local y-axis. More... | |
virtual void | rotateAroundLocalZ (Scalar radians) |
Rotation around local z-axis. More... | |
virtual void | rotateInLocalFrame (const RotationType &rotation) |
Rotation intepreted in the local reference frame. More... | |
const RotationType & | rotation () const |
Return change of orientation since the creation of the object. More... | |
void | setAlignmentParameters (AlignmentParameters *dap) |
Set the AlignmentParameters. More... | |
void | setMother (Alignable *mother) |
Assign mother to alignable. More... | |
void | setSurvey (const SurveyDet *) |
Set survey info. More... | |
int | size () const |
Return number of direct components. More... | |
const AlignableSurface & | surface () const |
Return the Surface (global position and orientation) of the object. More... | |
AlignmentSurfaceDeformations * | surfaceDeformations () const |
Return surface deformations, sorted by DetId. More... | |
const SurveyDet * | survey () const |
Return survey info. More... | |
void | update (align::ID, const AlignableSurface &) |
virtual | ~Alignable () |
Destructor. More... | |
Static Private Attributes | |
static const Alignables | emptyComponents_ {} |
A concrete class that allows to (mis)align a DetUnit.
Typically all AlignableComposites have (directly or indirectly) this one as the ultimate component.
Definition at line 12 of file AlignableDetUnit.h.
AlignableDetUnit::AlignableDetUnit | ( | const GeomDetUnit * | geomDetUnit | ) |
Constructor from GeomDetUnit - must not be NULL pointer!
Definition at line 15 of file AlignableDetUnit.cc.
References GeomDet::alignmentPositionError(), setAlignmentPositionError(), setSurfaceDeformation(), GeomDet::surfaceDeformation(), and Alignable::theDeepComponents.
|
override |
Destructor.
Definition at line 35 of file AlignableDetUnit.cc.
References Alignable::surface(), surfaceDeformationsCache_, theAlignmentPositionError, theCachedSurfaceDeformation, and theSurfaceDeformation.
|
finalvirtual |
Add (or set if it does not exist yet) the AlignmentPositionError (no components => second argument without effect)
Implements Alignable.
Definition at line 89 of file AlignableDetUnit.cc.
References setAlignmentPositionError(), and theAlignmentPositionError.
Referenced by addAlignmentPositionErrorFromRotation(), and recursiveComponents().
|
finalvirtual |
Add (or set if it does not exist yet) the AlignmentPositionError resulting from a rotation in the local reference frame (no components => second argument without effect)
Implements Alignable.
Definition at line 111 of file AlignableDetUnit.cc.
References addAlignmentPositionErrorFromRotation(), Alignable::globalRotation(), and TkRotation< T >::multiplyInverse().
Referenced by recursiveComponents().
|
finalvirtual |
Add (or set if it does not exist yet) the AlignmentPositionError resulting from a rotation in the global reference frame (no components => second argument without effect)
Implements Alignable.
Definition at line 97 of file AlignableDetUnit.cc.
References addAlignmentPositionError(), PV3DBase< T, PVType, FrameType >::basicVector(), TkRotation< T >::multiplyInverse(), Alignable::surface(), AlignableSurface::toGlobal(), and ApeEstimator_cff::width.
Referenced by addAlignmentPositionErrorFromLocalRotation(), and recursiveComponents().
|
finalvirtual |
No components here => exception!
Implements Alignable.
Definition at line 64 of file AlignableDetUnit.cc.
References Exception.
|
finalvirtual |
Add surface deformation parameters to the existing ones (2nd argument without effect)
Implements Alignable.
Definition at line 127 of file AlignableDetUnit.cc.
References SurfaceDeformation::add(), setSurfaceDeformation(), theSurfaceDeformation, and SurfaceDeformation::type().
Referenced by recursiveComponents().
|
inlineoverridevirtual |
Return the alignable type identifier.
Implements Alignable.
Definition at line 62 of file AlignableDetUnit.h.
References align::AlignableDetUnit, alignmentErrors(), alignments(), cacheTransformation(), dump(), restoreCachedTransformation(), and surfaceDeformationIdPairs().
|
overridevirtual |
Return vector of alignment errors.
Implements Alignable.
Definition at line 181 of file AlignableDetUnit.cc.
References asHepMatrix(), Alignable::geomDetId(), AlignmentPositionError::globalError(), AlignmentErrorsExtended::m_alignError, GlobalErrorBaseExtended< T, ErrorWeightType >::matrix(), DetId::rawId(), and theAlignmentPositionError.
Referenced by alignableObjectId().
|
inline |
alignment position error - for checking only, otherwise use alignmentErrors() above!
Definition at line 89 of file AlignableDetUnit.h.
References theAlignmentPositionError.
Referenced by AlignableDetOrUnitPtr::alignmentPositionError().
|
overridevirtual |
Return vector of alignment data.
Implements Alignable.
Definition at line 162 of file AlignableDetUnit.cc.
References Alignable::geomDetId(), Alignable::globalPosition(), Alignable::globalRotation(), Alignments::m_align, DetId::rawId(), makeMuonMisalignmentScenario::rot, HcalDetIdTransform::transform(), x, TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), y, TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), z, TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
Referenced by alignableObjectId().
|
overridevirtual |
cache the current position, rotation and other parameters (e.g. surface deformations)
Reimplemented from Alignable.
Definition at line 208 of file AlignableDetUnit.cc.
References SurfaceDeformation::clone(), Alignable::theCachedDisplacement, Alignable::theCachedRotation, Alignable::theCachedSurface, theCachedSurfaceDeformation, Alignable::theDisplacement, Alignable::theRotation, Alignable::theSurface, and theSurfaceDeformation.
Referenced by alignableObjectId().
|
overridevirtual |
cache for the given run the current position, rotation and other parameters (e.g. surface deformations)
Reimplemented from Alignable.
Definition at line 223 of file AlignableDetUnit.cc.
References SurfaceDeformation::clone(), Alignable::displacementsCache_, Alignable::rotationsCache_, writedatasetfile::run, surfaceDeformationsCache_, Alignable::surfacesCache_, Alignable::theDisplacement, Alignable::theRotation, Alignable::theSurface, and theSurfaceDeformation.
|
inlineoverridevirtual |
Returns a null vector (no components here)
Implements Alignable.
Definition at line 28 of file AlignableDetUnit.h.
References emptyComponents_.
|
overridevirtual |
Printout information about GeomDet.
Implements Alignable.
Definition at line 142 of file AlignableDetUnit.cc.
References Alignable::displacement(), Alignable::globalPosition(), Alignable::globalRotation(), SurfaceDeformation::parameters(), Alignable::rotation(), and theSurfaceDeformation.
Referenced by alignableObjectId().
|
overridevirtual |
Move with respect to the global reference frame.
Implements Alignable.
Definition at line 69 of file AlignableDetUnit.cc.
References Alignable::addDisplacement(), GloballyPositioned< T >::move(), and Alignable::theSurface.
Referenced by Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), Vispa.Gui.VispaWidget.VispaWidget::dragWidget(), recursiveComponents(), Vispa.Gui.VispaWidget.VispaWidget::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
inlineoverridevirtual |
Do nothing (no components here, so no subcomponents either...)
Implements Alignable.
Definition at line 31 of file AlignableDetUnit.h.
References addAlignmentPositionError(), addAlignmentPositionErrorFromLocalRotation(), addAlignmentPositionErrorFromRotation(), addSurfaceDeformation(), Alignable::displacement(), move(), makeMuonMisalignmentScenario::rot, rotateInGlobalFrame(), Alignable::rotation(), setAlignmentPositionError(), and setSurfaceDeformation().
|
overridevirtual |
restore the previously cached transformation
Reimplemented from Alignable.
Definition at line 240 of file AlignableDetUnit.cc.
References setSurfaceDeformation(), Alignable::theCachedDisplacement, Alignable::theCachedRotation, Alignable::theCachedSurface, theCachedSurfaceDeformation, Alignable::theDisplacement, Alignable::theRotation, Alignable::theSurface, and theSurfaceDeformation.
Referenced by alignableObjectId().
|
overridevirtual |
restore for the given run the previously cached transformation
Reimplemented from Alignable.
Definition at line 256 of file AlignableDetUnit.cc.
References Alignable::displacementsCache_, emptyComponents_, Exception, Alignable::rotationsCache_, writedatasetfile::run, setSurfaceDeformation(), surfaceDeformationsCache_, Alignable::surfacesCache_, Alignable::theDisplacement, Alignable::theRotation, Alignable::theSurface, and theSurfaceDeformation.
|
overridevirtual |
Rotation with respect to the global reference frame.
Implements Alignable.
Definition at line 75 of file AlignableDetUnit.cc.
References Alignable::addRotation(), GloballyPositioned< T >::rotate(), and Alignable::theSurface.
Referenced by recursiveComponents().
|
finalvirtual |
Set the AlignmentPositionError (no components => second argument ignored)
Implements Alignable.
Definition at line 81 of file AlignableDetUnit.cc.
References theAlignmentPositionError.
Referenced by addAlignmentPositionError(), AlignableDetUnit(), recursiveComponents(), and update().
|
finalvirtual |
Set surface deformation parameters (2nd argument without effect)
Implements Alignable.
Definition at line 117 of file AlignableDetUnit.cc.
References SurfaceDeformation::clone(), and theSurfaceDeformation.
Referenced by addSurfaceDeformation(), AlignableDetUnit(), recursiveComponents(), restoreCachedTransformation(), and update().
|
overridevirtual |
Return surface deformations.
Implements Alignable.
Definition at line 198 of file AlignableDetUnit.cc.
References Alignable::geomDetId(), mps_fire::result, and theSurfaceDeformation.
Referenced by alignableObjectId().
void AlignableDetUnit::update | ( | const GeomDetUnit * | geomDetUnit | ) |
Updater from GeomDetUnit The given GeomDetUnit id has to match the current id.
Definition at line 44 of file AlignableDetUnit.cc.
References GeomDet::alignmentPositionError(), Exception, GeomDet::geographicalId(), DetId::rawId(), setAlignmentPositionError(), setSurfaceDeformation(), GeomDet::surface(), GeomDet::surfaceDeformation(), and Alignable::update().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), AlignableTrackerBuilder::buildPixelDetectorAlignable(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), AlignableDet::update(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
staticprivate |
Definition at line 92 of file AlignableDetUnit.h.
Referenced by components(), and restoreCachedTransformation().
|
private |
Definition at line 96 of file AlignableDetUnit.h.
Referenced by cacheTransformation(), restoreCachedTransformation(), and ~AlignableDetUnit().
|
private |
Definition at line 93 of file AlignableDetUnit.h.
Referenced by addAlignmentPositionError(), alignmentErrors(), alignmentPositionError(), setAlignmentPositionError(), and ~AlignableDetUnit().
|
private |
Definition at line 95 of file AlignableDetUnit.h.
Referenced by cacheTransformation(), restoreCachedTransformation(), and ~AlignableDetUnit().
|
private |
Definition at line 94 of file AlignableDetUnit.h.
Referenced by addSurfaceDeformation(), cacheTransformation(), dump(), restoreCachedTransformation(), setSurfaceDeformation(), surfaceDeformationIdPairs(), and ~AlignableDetUnit().