#include <AlignableComposite.h>
Public Member Functions | |
void | addAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) override |
void | addAlignmentPositionErrorFromLocalRotation (const RotationType &rotation, bool propagateDown) override |
void | addAlignmentPositionErrorFromRotation (const RotationType &rotation, bool propagateDown) override |
void | addComponent (Alignable *component) final |
void | addSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown) override |
AlignableComposite (align::ID id, StructureType aType, const RotationType &rot=RotationType()) | |
StructureType | alignableObjectId () const override |
Return the alignable type identifier. More... | |
AlignmentErrorsExtended * | alignmentErrors () const override |
Return vector of alignment errors. More... | |
Alignments * | alignments () const override |
Return alignment data. More... | |
const Alignables & | components () const override |
Return vector of direct components. More... | |
void | dump () const override |
Recursive printout of alignable structure. More... | |
void | move (const GlobalVector &displacement) override |
Move with respect to the global reference frame. More... | |
virtual void | moveComponentLocal (const int i, const LocalVector &localDisplacement) |
Move a single component with respect to the local reference frame. More... | |
virtual void | moveComponentsLocal (const LocalVector &localDisplacement) |
Move with respect to the local reference frame. More... | |
void | recursiveComponents (Alignables &result) const override |
Provide all components, subcomponents etc. (cf. description in base class) More... | |
void | rotateInGlobalFrame (const RotationType &rotation) override |
Rotation interpreted in global reference frame. More... | |
void | setAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) override |
void | setSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown) override |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters. More... | |
int | surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const override |
Return surface deformations. More... | |
void | update (align::ID, StructureType aType, const RotationType &rot=RotationType()) |
~AlignableComposite () override | |
deleting its components 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 void | cacheTransformation () |
cache the current position, rotation and other parameters (e.g. surface deformations), also for possible components More... | |
virtual void | cacheTransformation (const align::RunNumber &) |
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 | recursiveComponents (Alignables &result) const =0 |
virtual void | restoreCachedTransformation () |
restore the previously cached transformation, also for possible components More... | |
virtual void | restoreCachedTransformation (const align::RunNumber &) |
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... | |
Protected Member Functions | |
AlignableComposite (const GeomDet *geomDet) | |
Constructor from GeomDet, only for use in AlignableDet. More... | |
void | setSurface (const AlignableSurface &s) |
void | update (const GeomDet *geomDet) |
template<class T > | |
void | update (T)=delete |
Protected Member Functions inherited from Alignable | |
void | addDisplacement (const GlobalVector &displacement) |
void | addRotation (const RotationType &rotation) |
virtual void | updateMother (const GlobalVector &shift) |
Private Member Functions | |
AlignableComposite () | |
default constructor hidden More... | |
Private Attributes | |
Alignables | theComponents |
Additional Inherited Members | |
Public Types inherited from Alignable | |
typedef align::Alignables | Alignables |
enum | CompConstraintType { CompConstraintType::NONE, CompConstraintType::POSITION, CompConstraintType::POSITION_Z } |
typedef align::GlobalVector | GlobalVector |
typedef align::LocalVector | LocalVector |
typedef align::PositionType | PositionType |
typedef align::RotationType | RotationType |
typedef align::Scalar | Scalar |
typedef align::StructureType | StructureType |
Protected Types inherited from Alignable | |
template<class T > | |
using | Cache = std::map< align::RunNumber, T > |
Definition at line 25 of file AlignableComposite.h.
AlignableComposite::AlignableComposite | ( | align::ID | id, |
StructureType | aType, | ||
const RotationType & | rot = RotationType() |
||
) |
Constructor for a composite with given rotation. Position can be found from average of daughters' positions later, using addComponent(Alignable*).
Definition at line 24 of file AlignableComposite.cc.
References Alignable::compConstraintType_, and Alignable::POSITION.
|
override |
deleting its components
Definition at line 34 of file AlignableComposite.cc.
References mps_fire::i, and theComponents.
|
explicitprotected |
Constructor from GeomDet, only for use in AlignableDet.
Definition at line 16 of file AlignableComposite.cc.
References Alignable::compConstraintType_, and Alignable::POSITION.
|
inlineprivate |
default constructor hidden
Definition at line 123 of file AlignableComposite.h.
Referenced by alignableObjectId().
|
overridevirtual |
Add the AlignmentPositionError (if this Alignable is a Det) and, if (propagateDown), add to all the components of the composite
Implements Alignable.
Reimplemented in AlignableDet.
Definition at line 200 of file AlignableComposite.cc.
References components(), and mps_fire::i.
Referenced by AlignableDet::addAlignmentPositionError(), and components().
|
overridevirtual |
Add the AlignmentPositionError resulting from local rotation (if this Alignable is a Det) and, if (propagateDown), add to all the components of the composite
Adds the AlignmentPositionError (in x,y,z coordinates) that would result on the various components from a possible Rotation of a composite the rotation matrix is in interpreted in LOCAL coordinates of the composite
Implements Alignable.
Definition at line 248 of file AlignableComposite.cc.
References addAlignmentPositionErrorFromRotation(), Alignable::globalRotation(), and TkRotation< T >::multiplyInverse().
Referenced by components().
|
overridevirtual |
Add the AlignmentPositionError resulting from global rotation (if this Alignable is a Det) and, if (propagateDown), add to all the components of the composite
Adds the AlignmentPositionError (in x,y,z coordinates) that would result on the various components from a possible Rotation of a composite the rotation matrix is in interpreted in GLOBAL coordinates
Implements Alignable.
Reimplemented in AlignableDet.
Definition at line 218 of file AlignableComposite.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), components(), Alignable::globalPosition(), mps_fire::i, and TkRotation< T >::multiplyInverse().
Referenced by addAlignmentPositionErrorFromLocalRotation(), AlignableDet::addAlignmentPositionErrorFromRotation(), and components().
|
finalvirtual |
Add a component and set its mother to this alignable. (Note: The component will be adopted, e.g. later deleted.) Also find average position of this composite from its modules' positions.
Implements Alignable.
Definition at line 66 of file AlignableComposite.cc.
References Alignable::deepComponents(), Alignable::globalPosition(), gen::k, GloballyPositioned< T >::move(), Alignable::setMother(), theComponents, Alignable::theDeepComponents, and Alignable::theSurface.
Referenced by AlignableCSCEndcap::AlignableCSCEndcap(), AlignableCSCRing::AlignableCSCRing(), AlignableCSCStation::AlignableCSCStation(), AlignableDet::AlignableDet(), AlignableDTBarrel::AlignableDTBarrel(), AlignableDTChamber::AlignableDTChamber(), AlignableDTStation::AlignableDTStation(), AlignableDTWheel::AlignableDTWheel(), AlignableTrackerBuilder::buildPixelDetector(), and AlignableTrackerBuilder::buildStripDetector().
|
overridevirtual |
Add the surface deformation parameters to the existing ones, if (!propagateDown) do not affect daughters.
Implements Alignable.
Definition at line 274 of file AlignableComposite.cc.
References components(), and mps_fire::i.
Referenced by components().
|
inlineoverridevirtual |
Return the alignable type identifier.
Implements Alignable.
Definition at line 92 of file AlignableComposite.h.
References AlignableComposite(), alignmentErrors(), alignments(), dump(), surfaceDeformationIdPairs(), theStructureType, and update().
Referenced by dump(), and recursiveComponents().
|
overridevirtual |
Return vector of alignment errors.
Implements Alignable.
Reimplemented in AlignableTracker, AlignableMuon, AlignableDTBarrel, AlignableCSCEndcap, and AlignableDet.
Definition at line 326 of file AlignableComposite.cc.
References components(), popcon2dropbox::copy(), mps_fire::i, and AlignmentErrorsExtended::m_alignError.
Referenced by alignableObjectId(), and AlignableDet::alignmentErrors().
|
overridevirtual |
Return alignment data.
Implements Alignable.
Reimplemented in AlignableTracker, AlignableMuon, AlignableDTBarrel, AlignableCSCEndcap, AlignableDet, and AlignableSiStripDet.
Definition at line 308 of file AlignableComposite.cc.
References components(), popcon2dropbox::copy(), mps_fire::i, and Alignments::m_align.
Referenced by alignableObjectId(), and AlignableDet::alignments().
|
inlineoverridevirtual |
Return vector of direct components.
Implements Alignable.
Reimplemented in AlignableMuon.
Definition at line 51 of file AlignableComposite.h.
References addAlignmentPositionError(), addAlignmentPositionErrorFromLocalRotation(), addAlignmentPositionErrorFromRotation(), addSurfaceDeformation(), Alignable::displacement(), mps_fire::i, move(), moveComponentLocal(), moveComponentsLocal(), recursiveComponents(), mps_fire::result, rotateInGlobalFrame(), Alignable::rotation(), setAlignmentPositionError(), setSurfaceDeformation(), and theComponents.
Referenced by addAlignmentPositionError(), addAlignmentPositionErrorFromRotation(), AlignmentParameterSelector::addAllAlignables(), AlignmentParameterSelector::addSelection(), addSurfaceDeformation(), AlignableSiStripDet::AlignableSiStripDet(), AlignableCSCEndcap::alignmentErrors(), AlignableDTBarrel::alignmentErrors(), alignmentErrors(), AlignableTracker::alignmentErrors(), AlignableCSCEndcap::alignments(), AlignableDTBarrel::alignments(), alignments(), AlignableTracker::alignments(), AlignableTrackerBuilder::buildAlignables(), AlignableSiStripDet::consistifyAlignments(), dump(), move(), moveComponentLocal(), operator<<(), recursiveComponents(), rotateInGlobalFrame(), setAlignmentPositionError(), setSurfaceDeformation(), surfaceDeformationIdPairs(), and AlignableDet::update().
|
overridevirtual |
Recursive printout of alignable structure.
Implements Alignable.
Reimplemented in AlignableCSCRing, AlignableCSCStation, AlignableCSCEndcap, AlignableDTBarrel, AlignableDTStation, and AlignableDTWheel.
Definition at line 287 of file AlignableComposite.cc.
References alignableObjectId(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), Alignable::globalPosition(), Alignable::globalRotation(), and mps_fire::i.
Referenced by alignableObjectId().
|
overridevirtual |
Move with respect to the global reference frame.
Implements Alignable.
Definition at line 96 of file AlignableComposite.cc.
References Alignable::addDisplacement(), components(), mps_fire::i, GloballyPositioned< T >::move(), and Alignable::theSurface.
Referenced by Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), components(), Vispa.Gui.VispaWidget.VispaWidget::dragWidget(), moveComponentsLocal(), Vispa.Gui.VispaWidget.VispaWidget::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
virtual |
Move a single component with respect to the local reference frame.
Definition at line 118 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), Exception, mps_fire::i, Alignable::size(), and Alignable::surface().
Referenced by components().
|
virtual |
Move with respect to the local reference frame.
Definition at line 110 of file AlignableComposite.cc.
References move(), and Alignable::surface().
Referenced by components().
|
override |
Provide all components, subcomponents etc. (cf. description in base class)
Definition at line 81 of file AlignableComposite.cc.
References align::AlignableDet, alignableObjectId(), and components().
Referenced by components().
|
overridevirtual |
Rotation interpreted in global reference frame.
Rotation intepreted such, that the orientation of the rotation axis is w.r.t. to the global coordinate system. This, however, does NOT mean the center of the rotation. This is simply taken as the center of the Alignable-object
Implements Alignable.
Definition at line 136 of file AlignableComposite.cc.
References Alignable::addRotation(), PV3DBase< T, PVType, FrameType >::basicVector(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), Alignable::globalPosition(), mps_fire::i, TkRotation< T >::multiplyInverse(), GloballyPositioned< T >::rotate(), and Alignable::theSurface.
Referenced by components().
|
overridevirtual |
Set the AlignmentPositionError (if this Alignable is a Det) and, if (propagateDown), to all the components of the composite
Implements Alignable.
Reimplemented in AlignableDet.
Definition at line 184 of file AlignableComposite.cc.
References components(), and mps_fire::i.
Referenced by components(), and AlignableDet::setAlignmentPositionError().
|
inlineprotected |
Definition at line 117 of file AlignableComposite.h.
References alignCSCRings::s, and Alignable::theSurface.
Referenced by AlignableCSCEndcap::AlignableCSCEndcap(), AlignableCSCRing::AlignableCSCRing(), AlignableCSCStation::AlignableCSCStation(), AlignableDTBarrel::AlignableDTBarrel(), AlignableDTStation::AlignableDTStation(), and AlignableDTWheel::AlignableDTWheel().
|
overridevirtual |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
Implements Alignable.
Definition at line 261 of file AlignableComposite.cc.
References components(), and mps_fire::i.
Referenced by components().
|
overridevirtual |
Return surface deformations.
Implements Alignable.
Definition at line 344 of file AlignableComposite.cc.
References components(), KineDebug3::count(), mps_fire::i, and mps_fire::result.
Referenced by alignableObjectId().
void AlignableComposite::update | ( | align::ID | id, |
StructureType | aType, | ||
const RotationType & | rot = RotationType() |
||
) |
Updater for a composite with given rotation. The given id and structure type have to match the current ones.
Definition at line 52 of file AlignableComposite.cc.
References Exception, Alignable::globalPosition(), theStructureType, and Alignable::update().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), alignableObjectId(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), 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().
|
protected |
Updater from GeomDet, only for use in AlignableDet The given GeomDetUnit id has to match the current id.
Definition at line 40 of file AlignableComposite.cc.
References Exception, GeomDet::geographicalId(), DetId::rawId(), GeomDet::surface(), and Alignable::update().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), 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(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
protecteddelete |
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), 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(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
private |
Definition at line 123 of file AlignableComposite.h.
Referenced by addComponent(), components(), and ~AlignableComposite().
|
protected |
Definition at line 119 of file AlignableComposite.h.
Referenced by AlignableCSCChamber::AlignableCSCChamber(), AlignableDTChamber::AlignableDTChamber(), AlignableDTSuperLayer::AlignableDTSuperLayer(), alignableObjectId(), and update().