#include <Alignable.h>
Public Types | |
typedef align::Alignables | Alignables |
typedef align::GlobalVector | GlobalVector |
typedef align::LocalVector | LocalVector |
typedef align::PositionType | PositionType |
typedef align::RotationType | RotationType |
typedef align::Scalar | Scalar |
typedef align::StructureType | StructureType |
Public Member Functions | |
virtual void | addAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown)=0 |
virtual void | addAlignmentPositionErrorFromLocalRotation (const RotationType &rotation, bool propagateDown)=0 |
virtual void | addAlignmentPositionErrorFromRotation (const RotationType &rotation, bool propagateDown)=0 |
virtual void | addComponent (Alignable *)=0 |
virtual void | addSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown)=0 |
Alignable (align::ID, const AlignableSurface &) | |
Alignable (align::ID, const RotationType &) | |
virtual StructureType | alignableObjectId () const =0 |
Return the alignable type identifier. More... | |
virtual AlignmentErrorsExtended * | alignmentErrors () const =0 |
Return vector of alignment errors. More... | |
AlignmentParameters * | alignmentParameters () const |
Get the AlignmentParameters. More... | |
virtual Alignments * | alignments () const =0 |
Return vector of alignment data. More... | |
virtual void | cacheTransformation () |
cache the current position, rotation and other parameters (e.g. surface deformations), also for possible components More... | |
virtual Alignables | components () const =0 |
Return vector of all direct components. More... | |
const Alignables & | deepComponents () const |
const GlobalVector & | displacement () const |
Return change of the global position since the creation of the object. More... | |
virtual void | dump () const =0 |
Recursive printout of alignable information. 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 | move (const GlobalVector &displacement)=0 |
Movement with respect to the global reference frame. More... | |
virtual void | recursiveComponents (Alignables &result) const =0 |
virtual void | restoreCachedTransformation () |
restore the previously cached transformation, also for 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 | rotateInGlobalFrame (const RotationType &rotation)=0 |
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... | |
virtual void | setAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown)=0 |
Set the alignment position error - if (!propagateDown) do not affect daughters. More... | |
void | setMother (Alignable *mother) |
Assign mother to alignable. More... | |
virtual void | setSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown)=0 |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters. 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... | |
virtual int | surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const =0 |
AlignmentSurfaceDeformations * | surfaceDeformations () const |
Return surface deformations, sorted by DetId. More... | |
const SurveyDet * | survey () const |
Return survey info. More... | |
virtual | ~Alignable () |
Destructor. More... | |
Protected Member Functions | |
void | addDisplacement (const GlobalVector &displacement) |
void | addRotation (const RotationType &rotation) |
Private Member Functions | |
Alignable () | |
private default ctr. to enforce usage of the specialised ones More... | |
Private Attributes | |
AlignmentParameters * | theAlignmentParameters |
Alignable * | theMother |
const SurveyDet * | theSurvey |
Abstract base class for alignable entities. Any Alignable object can be moved and rotated. Also an alignment uncertainty can be set.
(last update by
)
Definition at line 29 of file Alignable.h.
Definition at line 39 of file Alignable.h.
Definition at line 37 of file Alignable.h.
Definition at line 38 of file Alignable.h.
Definition at line 35 of file Alignable.h.
Definition at line 36 of file Alignable.h.
typedef align::Scalar Alignable::Scalar |
Definition at line 34 of file Alignable.h.
Definition at line 40 of file Alignable.h.
Alignable::Alignable | ( | align::ID | id, |
const AlignableSurface & | surf | ||
) |
Constructor from id and surface, setting also geomDetId (AlignableNavigator relies on the fact that only AlignableDet/DetUnit have geomDetId!)
Definition at line 19 of file Alignable.cc.
Alignable::Alignable | ( | align::ID | id, |
const RotationType & | rot | ||
) |
Constructor for a composite with given rotation. Position is found (later) from average of daughters' positions.
Definition at line 31 of file Alignable.cc.
|
virtual |
Destructor.
Definition at line 43 of file Alignable.cc.
|
inlineprivate |
private default ctr. to enforce usage of the specialised ones
Definition at line 241 of file Alignable.h.
|
pure virtual |
Add (or set if not already present) the AlignmentPositionError, but if (!propagateDown) do not affect daughters
Implemented in AlignableComposite, AlignableBeamSpot, AlignableDetUnit, and AlignableDet.
|
pure virtual |
add (or set if not already present) the AlignmentPositionError which would result from a rotation (given in the LOCAL frame of the Alignable) of the alignable object, but if (!propagateDown) do not affect daughters
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
|
pure virtual |
add (or set if not already present) the AlignmentPositionError which would result from a rotation (given in the GLOBAL frame of CMS) of the alignable object, but if (!propagateDown) do not affect daughters
Implemented in AlignableComposite, AlignableBeamSpot, AlignableDetUnit, and AlignableDet.
|
pure virtual |
Add a component to alignable (GF: Should be interface in Composite, but needed in AlignableBuilder::build)
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
Referenced by SurveyInputBase::addComponent(), and AlignableBuilder::build().
|
protected |
Definition at line 229 of file Alignable.cc.
|
protected |
Definition at line 237 of file Alignable.cc.
|
pure virtual |
Add the surface deformation parameters to the existing ones, if (!propagateDown) do not affect daughters.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
|
pure virtual |
Return the alignable type identifier.
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), SurveyMisalignmentInput::addSurveyInfo(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), AlignmentMonitorGeneric::book(), SurveyDBUploader::getSurveyInfo(), AlignableDataIORoot::readAbsRaw(), AlignmentParametersIORoot::readOne(), AlignableDataIORoot::readRelRaw(), AlignmentCorrelationsIORoot::write(), and AlignmentParametersIORoot::writeOne().
|
pure virtual |
Return vector of alignment errors.
Implemented in AlignableTracker, AlignableMuon, AlignableComposite, AlignableBeamSpot, AlignableDetUnit, AlignableDTBarrel, AlignableCSCEndcap, and AlignableDet.
Referenced by SurveyInputTrackerFromDB::analyze().
|
inline |
Get the AlignmentParameters.
Definition at line 57 of file Alignable.h.
Referenced by CSCAlignmentCorrections::applyAlignment(), AlignmentParametersIORoot::readOne(), SurveyAlignment::shiftSensors(), AlignmentCorrelationsIORoot::write(), AlignmentParametersIORoot::writeOne(), and AlignmentParametersIO::writeOneOrigRigidBody().
|
pure virtual |
Return vector of alignment data.
Implemented in AlignableTracker, AlignableMuon, AlignableComposite, AlignableBeamSpot, AlignableDetUnit, AlignableDTBarrel, AlignableCSCEndcap, AlignableDet, and AlignableSiStripDet.
Referenced by SurveyInputTrackerFromDB::analyze().
|
virtual |
cache the current position, rotation and other parameters (e.g. surface deformations), also for possible components
Reimplemented in AlignableDetUnit.
Definition at line 273 of file Alignable.cc.
|
pure virtual |
Return vector of all direct components.
Implemented in AlignableMuon, AlignableComposite, AlignableCSCEndcap, AlignableCSCRing, AlignableCSCStation, AlignableDTBarrel, AlignableDTStation, AlignableDTWheel, AlignableBeamSpot, and AlignableDetUnit.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), SurveyMisalignmentInput::addSurveyInfo(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), and SurveyDBUploader::getSurveyInfo().
|
inline |
Return the list of lowest daughters (non-composites) of Alignable. Contain itself if Alignable is a unit.
Definition at line 71 of file Alignable.h.
|
inline |
Return change of the global position since the creation of the object.
Definition at line 140 of file Alignable.h.
Referenced by operator<<(), and SurveyOutput::write().
|
pure virtual |
Recursive printout of alignable information.
Implemented in AlignableComposite, AlignableBeamSpot, AlignableDetUnit, AlignableCSCRing, AlignableCSCStation, AlignableCSCEndcap, AlignableDTBarrel, AlignableDTStation, and AlignableDTWheel.
bool Alignable::firstCompsWithParams | ( | Alignables & | paramComps | ) | const |
Steps down hierarchy until components with AlignmentParameters are found and adds them to argument. True either if no such components are found or if all branches of components end with such components (i.e. 'consistent').
Definition at line 50 of file Alignable.cc.
|
inline |
Return the DetId of the associated GeomDet (0 by default) This should be removed. Ultimately we need only one ID.
Definition at line 182 of file Alignable.h.
Referenced by MuonAlignmentInputSurveyDB::addSurveyInfo_().
|
inline |
Return the global position of the object.
Definition at line 134 of file Alignable.h.
Referenced by operator<<().
|
inline |
Return the global orientation of the object.
Definition at line 137 of file Alignable.h.
Referenced by AlignableBuilder::build(), and operator<<().
|
inline |
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
Definition at line 185 of file Alignable.h.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), SurveyMisalignmentInput::addSurveyInfo(), AlignmentMonitorSurvey::book(), AlignmentMonitorGeneric::book(), AlignableBuilder::build(), SurveyDBUploader::getSurveyInfo(), AlignableDataIORoot::readAbsRaw(), AlignmentParametersIORoot::readOne(), AlignableDataIORoot::readRelRaw(), AlignmentCorrelationsIORoot::write(), and AlignmentParametersIORoot::writeOne().
bool Alignable::lastCompsWithParams | ( | Alignables & | paramComps | ) | const |
Steps down hierarchy to the lowest level of components with AlignmentParameters and adds them to argument. True either if no such components are found or if all branches of components end with such components (i.e. 'consistent').
Definition at line 81 of file Alignable.cc.
|
inline |
Return pointer to container alignable (if any)
Definition at line 90 of file Alignable.h.
Referenced by AlignmentMonitorGeneric::event().
|
pure virtual |
Movement with respect to the global reference frame.
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), and SurveyAlignment::shiftSensors().
|
pure virtual |
Provide all components, subcomponents, subsub... etc. of Alignable down to AlignableDetUnit, except for 'single childs' like e.g. AlignableDetUnits of AlignableDets representing single sided SiStrip modules. (for performance reason by adding to argument)
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
|
virtual |
restore the previously cached transformation, also for possible components
Reimplemented in AlignableDetUnit.
Definition at line 289 of file Alignable.cc.
|
virtual |
Rotation around arbitratry global axis.
Definition at line 133 of file Alignable.cc.
|
virtual |
Rotation around global x-axis.
Definition at line 151 of file Alignable.cc.
|
virtual |
Rotation around global y-axis.
Definition at line 177 of file Alignable.cc.
|
virtual |
Rotation around global z-axis.
Definition at line 203 of file Alignable.cc.
|
virtual |
Rotation around arbitratry local axis.
Definition at line 142 of file Alignable.cc.
|
virtual |
Rotation around local x-axis.
Definition at line 164 of file Alignable.cc.
|
virtual |
Rotation around local y-axis.
Definition at line 190 of file Alignable.cc.
|
virtual |
Rotation around local z-axis.
Definition at line 216 of file Alignable.cc.
|
pure virtual |
Rotation intepreted such that the orientation of the rotation axis is w.r.t. to the global coordinate system. Rotation is relative to current orientation
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
Referenced by SurveyAlignment::shiftSensors().
|
virtual |
Rotation intepreted in the local reference frame.
Definition at line 120 of file Alignable.cc.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo().
|
inline |
Return change of orientation since the creation of the object.
Definition at line 143 of file Alignable.h.
Referenced by operator<<(), and SurveyOutput::write().
void Alignable::setAlignmentParameters | ( | AlignmentParameters * | dap | ) |
Set the AlignmentParameters.
Definition at line 110 of file Alignable.cc.
Referenced by CSCAlignmentCorrections::applyAlignment(), SurveyAlignmentSensor::findAlignPars(), SurveyAlignmentPoints::findAlignPars(), and AlignmentParametersIO::writeOneOrigRigidBody().
|
pure virtual |
Set the alignment position error - if (!propagateDown) do not affect daughters.
Implemented in AlignableComposite, AlignableBeamSpot, AlignableDetUnit, and AlignableDet.
|
inline |
Assign mother to alignable.
Definition at line 93 of file Alignable.h.
|
pure virtual |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
Implemented in AlignableBeamSpot, AlignableComposite, and AlignableDetUnit.
void Alignable::setSurvey | ( | const SurveyDet * | survey | ) |
Set survey info.
Definition at line 306 of file Alignable.cc.
Referenced by SurveyInputTrackerFromDB::addSurveyInfo(), SurveyMisalignmentInput::addSurveyInfo(), and MuonAlignmentInputSurveyDB::addSurveyInfo_().
|
inline |
Return number of direct components.
Definition at line 67 of file Alignable.h.
Referenced by AlignableDTStation::chamber(), AlignableCSCRing::chamber(), AlignableCSCStation::ring(), AlignableDTWheel::station(), AlignableCSCEndcap::station(), and AlignableDTBarrel::wheel().
|
inline |
Return the Surface (global position and orientation) of the object.
Definition at line 131 of file Alignable.h.
Referenced by MuonDT2ChamberResidual::addResidual(), MuonCSCChamberResidual::addResidual(), MuonDT13ChamberResidual::addResidual(), SurveyInputTrackerFromDB::addSurveyInfo(), SurveyMisalignmentInput::addSurveyInfo(), MuonAlignmentInputSurveyDB::addSurveyInfo_(), MuonGeometrySVGTemplate::analyze(), CSCAlignmentCorrections::applyAlignment(), MuonChamberResidual::global_stubpos(), MuonChamberResidual::global_trackpos(), operator<<(), and SurveyAlignment::shiftSensors().
|
pure virtual |
Return surface deformations as a vector of pairs of raw DetId and pointers to surface deformations
Implemented in AlignableComposite, AlignableBeamSpot, and AlignableDetUnit.
AlignmentSurfaceDeformations * Alignable::surfaceDeformations | ( | void | ) | const |
Return surface deformations, sorted by DetId.
Definition at line 245 of file Alignable.cc.
|
inline |
Return survey info.
Definition at line 210 of file Alignable.h.
Referenced by SurveyAlignmentPoints::findAlignPars(), and SurveyDBUploader::getSurveyInfo().
|
private |
Definition at line 241 of file Alignable.h.
|
protected |
Definition at line 233 of file Alignable.h.
|
protected |
Definition at line 234 of file Alignable.h.
|
protected |
Definition at line 232 of file Alignable.h.
|
protected |
Definition at line 236 of file Alignable.h.
|
protected |
Definition at line 222 of file Alignable.h.
|
protected |
Definition at line 229 of file Alignable.h.
|
protected |
Definition at line 225 of file Alignable.h.
|
private |
Definition at line 245 of file Alignable.h.
|
protected |
Definition at line 230 of file Alignable.h.
|
protected |
Definition at line 227 of file Alignable.h.
Referenced by AlignableCSCChamber::AlignableCSCChamber(), AlignableDTChamber::AlignableDTChamber(), AlignableDTSuperLayer::AlignableDTSuperLayer(), and AlignableComposite::setSurface().
|
private |
Definition at line 247 of file Alignable.h.