#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()) |
template<class T > | |
void | update (T)=delete |
~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) |
Protected Member Functions inherited from Alignable | |
void | addDisplacement (const GlobalVector &displacement) |
void | addRotation (const RotationType &rotation) |
virtual void | updateMother (const GlobalVector &shift) |
Protected Attributes | |
StructureType | theStructureType |
Protected Attributes inherited from Alignable | |
Cache< GlobalVector > | displacementsCache_ |
Cache< RotationType > | rotationsCache_ |
Cache< AlignableSurface > | surfacesCache_ |
GlobalVector | theCachedDisplacement |
RotationType | theCachedRotation |
AlignableSurface | theCachedSurface |
Alignables | theDeepComponents |
DetId | theDetId |
GlobalVector | theDisplacement |
align::ID | theId |
RotationType | theRotation |
AlignableSurface | theSurface |
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 21 of file AlignableComposite.cc.
References Alignable::POSITION.
|
override |
deleting its components
Definition at line 27 of file AlignableComposite.cc.
References mps_fire::i, and theComponents.
|
explicitprotected |
Constructor from GeomDet, only for use in AlignableDet.
Definition at line 15 of file AlignableComposite.cc.
References Alignable::POSITION.
|
inlineprivate |
default constructor hidden
Definition at line 118 of file AlignableComposite.h.
|
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 160 of file AlignableComposite.cc.
References components(), and mps_fire::i.
Referenced by AlignableDet::addAlignmentPositionError().
|
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 203 of file AlignableComposite.cc.
References addAlignmentPositionErrorFromRotation(), Alignable::globalRotation(), and TkRotation< T >::multiplyInverse().
|
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 175 of file AlignableComposite.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), components(), Alignable::globalPosition(), mps_fire::i, and TkRotation< T >::multiplyInverse().
Referenced by addAlignmentPositionErrorFromLocalRotation(), and AlignableDet::addAlignmentPositionErrorFromRotation().
|
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 53 of file AlignableComposite.cc.
References Alignable::deepComponents(), Alignable::globalPosition(), isotrackApplyRegressor::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(), AlignableGEMEndcap::AlignableGEMEndcap(), AlignableGEMRing::AlignableGEMRing(), AlignableGEMStation::AlignableGEMStation(), AlignableGEMSuperChamber::AlignableGEMSuperChamber(), 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 225 of file AlignableComposite.cc.
References components(), and mps_fire::i.
|
inlineoverridevirtual |
Return the alignable type identifier.
Implements Alignable.
Definition at line 86 of file AlignableComposite.h.
References theStructureType.
Referenced by dump(), and recursiveComponents().
|
overridevirtual |
Return vector of alignment errors.
Implements Alignable.
Reimplemented in AlignableMuon, AlignableTracker, AlignableCSCEndcap, AlignableDTBarrel, AlignableDet, and AlignableGEMEndcap.
Definition at line 269 of file AlignableComposite.cc.
References components(), filterCSVwithJSON::copy, mps_fire::i, and AlignmentErrorsExtended::m_alignError.
Referenced by AlignableDet::alignmentErrors().
|
overridevirtual |
Return alignment data.
Implements Alignable.
Reimplemented in AlignableMuon, AlignableTracker, AlignableCSCEndcap, AlignableDTBarrel, AlignableDet, AlignableGEMEndcap, and AlignableSiStripDet.
Definition at line 254 of file AlignableComposite.cc.
References components(), filterCSVwithJSON::copy, mps_fire::i, and Alignments::m_align.
Referenced by AlignableDet::alignments().
|
inlineoverridevirtual |
Return vector of direct components.
Implements Alignable.
Reimplemented in AlignableMuon.
Definition at line 45 of file AlignableComposite.h.
References theComponents.
Referenced by addAlignmentPositionError(), addAlignmentPositionErrorFromRotation(), AlignmentParameterSelector::addAllAlignables(), AlignmentParameterSelector::addSelection(), addSurfaceDeformation(), AlignableSiStripDet::AlignableSiStripDet(), AlignableGEMEndcap::alignmentErrors(), AlignableCSCEndcap::alignmentErrors(), AlignableDTBarrel::alignmentErrors(), alignmentErrors(), AlignableTracker::alignmentErrors(), AlignableGEMEndcap::alignments(), 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, AlignableDTWheel, AlignableGEMStation, AlignableGEMEndcap, and AlignableGEMRing.
Definition at line 237 of file AlignableComposite.cc.
References alignableObjectId(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), Alignable::globalPosition(), Alignable::globalRotation(), and mps_fire::i.
|
overridevirtual |
Move with respect to the global reference frame.
Implements Alignable.
Definition at line 80 of file AlignableComposite.cc.
References Alignable::addDisplacement(), components(), mps_fire::i, GloballyPositioned< T >::move(), and Alignable::theSurface.
Referenced by moveComponentsLocal().
|
virtual |
Move a single component with respect to the local reference frame.
Definition at line 96 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), Exception, mps_fire::i, Alignable::size(), and Alignable::surface().
|
virtual |
Move with respect to the local reference frame.
Definition at line 91 of file AlignableComposite.cc.
References move(), and Alignable::surface().
|
override |
Provide all components, subcomponents etc. (cf. description in base class)
Definition at line 67 of file AlignableComposite.cc.
References align::AlignableDet, alignableObjectId(), and 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 109 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.
|
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 148 of file AlignableComposite.cc.
References components(), and mps_fire::i.
Referenced by AlignableDet::setAlignmentPositionError().
|
inlineprotected |
Definition at line 112 of file AlignableComposite.h.
References alignCSCRings::s, and Alignable::theSurface.
Referenced by AlignableCSCEndcap::AlignableCSCEndcap(), AlignableCSCRing::AlignableCSCRing(), AlignableCSCStation::AlignableCSCStation(), AlignableDTBarrel::AlignableDTBarrel(), AlignableDTStation::AlignableDTStation(), AlignableDTWheel::AlignableDTWheel(), AlignableGEMEndcap::AlignableGEMEndcap(), AlignableGEMRing::AlignableGEMRing(), and AlignableGEMStation::AlignableGEMStation().
|
overridevirtual |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
Implements Alignable.
Definition at line 213 of file AlignableComposite.cc.
References components(), and mps_fire::i.
|
overridevirtual |
Return surface deformations.
Implements Alignable.
Definition at line 286 of file AlignableComposite.cc.
References components(), submitPVResolutionJobs::count, mps_fire::i, and mps_fire::result.
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 43 of file AlignableComposite.cc.
References Exception, Alignable::globalPosition(), theStructureType, and Alignable::update().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), MatrixUtil.Steps::overwrite(), and AlignableDet::update().
|
delete |
|
protected |
Updater from GeomDet, only for use in AlignableDet The given GeomDetUnit id has to match the current id.
Definition at line 33 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__(), dqm-mbProfile.Profile::finish(), progressbar.ProgressBar::finish(), and MatrixUtil.Steps::overwrite().
|
private |
Definition at line 118 of file AlignableComposite.h.
Referenced by addComponent(), components(), and ~AlignableComposite().
|
protected |
Definition at line 114 of file AlignableComposite.h.
Referenced by AlignableCSCChamber::AlignableCSCChamber(), AlignableDTChamber::AlignableDTChamber(), AlignableDTSuperLayer::AlignableDTSuperLayer(), AlignableGEMChamber::AlignableGEMChamber(), AlignableGEMSuperChamber::AlignableGEMSuperChamber(), alignableObjectId(), and update().