#include <AlignableComposite.h>
Public Member Functions | |
virtual void | addAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) |
virtual void | addAlignmentPositionErrorFromLocalRotation (const RotationType &rotation, bool propagateDown) |
virtual void | addAlignmentPositionErrorFromRotation (const RotationType &rotation, bool propagateDown) |
virtual void | addComponent (Alignable *component) |
virtual void | addSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown) |
AlignableComposite (align::ID id, StructureType aType, const RotationType &rot=RotationType()) | |
virtual StructureType | alignableObjectId () const |
Return the alignable type identifier. More... | |
virtual AlignmentErrors * | alignmentErrors () const |
Return vector of alignment errors. More... | |
virtual Alignments * | alignments () const |
Return alignment data. More... | |
virtual Alignables | components () const |
Return vector of direct components. More... | |
virtual void | dump () const |
Recursive printout of alignable structure. More... | |
virtual void | move (const GlobalVector &displacement) |
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... | |
virtual void | recursiveComponents (Alignables &result) const |
Provide all components, subcomponents etc. (cf. description in base class) More... | |
virtual void | rotateInGlobalFrame (const RotationType &rotation) |
Rotation interpreted in global reference frame. More... | |
virtual void | setAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) |
virtual void | setSurfaceDeformation (const SurfaceDeformation *deformation, bool propagateDown) |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters. More... | |
virtual int | surfaceDeformationIdPairs (std::vector< std::pair< int, SurfaceDeformation * > > &) const |
Return surface deformations. More... | |
virtual | ~AlignableComposite () |
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) 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... | |
Alignable * | mother () const |
Return pointer to container alignable (if any) More... | |
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 | 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... | |
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) |
Protected Member Functions inherited from Alignable | |
void | addDisplacement (const GlobalVector &displacement) |
void | addRotation (const RotationType &rotation) |
Protected Attributes | |
StructureType | theStructureType |
Protected Attributes inherited from Alignable | |
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 |
typedef align::GlobalVector | GlobalVector |
typedef align::LocalVector | LocalVector |
typedef align::PositionType | PositionType |
typedef align::RotationType | RotationType |
typedef align::Scalar | Scalar |
typedef align::StructureType | StructureType |
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 20 of file AlignableComposite.cc.
|
virtual |
deleting its components
Definition at line 28 of file AlignableComposite.cc.
References i, and theComponents.
|
explicitprotected |
Constructor from GeomDet, only for use in AlignableDet.
Definition at line 14 of file AlignableComposite.cc.
|
inlineprivate |
default constructor hidden
Definition at line 110 of file AlignableComposite.h.
Referenced by AlignableTracker::buildBarrel(), and AlignableTracker::buildTRK().
|
virtual |
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 171 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), and i.
Referenced by AlignableDet::addAlignmentPositionError().
|
virtual |
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 227 of file AlignableComposite.cc.
References addAlignmentPositionErrorFromRotation(), Alignable::globalRotation(), and TkRotation< T >::multiplyInverse().
|
virtual |
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 191 of file AlignableComposite.cc.
References PV3DBase< T, PVType, FrameType >::basicVector(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), Alignable::globalPosition(), i, and TkRotation< T >::multiplyInverse().
Referenced by addAlignmentPositionErrorFromLocalRotation(), and AlignableDet::addAlignmentPositionErrorFromRotation().
|
virtual |
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 33 of file AlignableComposite.cc.
References Alignable::deepComponents(), Alignable::globalPosition(), gen::k, GloballyPositioned< T >::move(), Alignable::setMother(), theComponents, Alignable::theDeepComponents, and Alignable::theSurface.
Referenced by AlignableDet::AlignableDet(), AlignableDTChamber::AlignableDTChamber(), and AlignableTracker::buildTRK().
|
virtual |
Add the surface deformation parameters to the existing ones, if (!propagateDown) do not affect daughters.
Implements Alignable.
Definition at line 254 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), and i.
|
inlinevirtual |
Return the alignable type identifier.
Implements Alignable.
Definition at line 86 of file AlignableComposite.h.
References theStructureType.
Referenced by dump(), and recursiveComponents().
|
virtual |
Return vector of alignment errors.
Implements Alignable.
Reimplemented in AlignableTracker, AlignableMuon, AlignableDTBarrel, AlignableCSCEndcap, and AlignableDet.
Definition at line 315 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), filterCSVwithJSON::copy, i, and AlignmentErrors::m_alignError.
Referenced by AlignableDet::alignmentErrors().
|
virtual |
Return alignment data.
Implements Alignable.
Reimplemented in AlignableTracker, AlignableMuon, AlignableDTBarrel, AlignableCSCEndcap, AlignableDet, and AlignableSiStripDet.
Definition at line 291 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), filterCSVwithJSON::copy, i, and Alignments::m_align.
Referenced by AlignableDet::alignments().
|
inlinevirtual |
Return vector of direct components.
Implements Alignable.
Reimplemented in AlignableMuon, AlignableCSCEndcap, AlignableCSCRing, AlignableCSCStation, AlignableDTBarrel, AlignableDTStation, and AlignableDTWheel.
Definition at line 45 of file AlignableComposite.h.
References theComponents.
Referenced by addAlignmentPositionError(), addAlignmentPositionErrorFromRotation(), AlignmentParameterSelector::addAllAlignables(), AlignmentParameterSelector::addSelection(), addSurfaceDeformation(), AlignableSiStripDet::AlignableSiStripDet(), AlignableTracker::AlignableTracker(), alignmentErrors(), AlignableTracker::alignmentErrors(), alignments(), AlignableTracker::alignments(), AlignableSiStripDet::consistifyAlignments(), AlignableTracker::detsToAlignables(), dump(), KalmanAlignmentAlgorithm::initialize(), move(), moveComponentLocal(), operator<<(), recursiveComponents(), rotateInGlobalFrame(), setAlignmentPositionError(), setSurfaceDeformation(), and surfaceDeformationIdPairs().
|
virtual |
Recursive printout of alignable structure.
Implements Alignable.
Reimplemented in AlignableCSCRing, AlignableCSCStation, AlignableCSCEndcap, AlignableDTBarrel, AlignableDTStation, and AlignableDTWheel.
Definition at line 268 of file AlignableComposite.cc.
References alignableObjectId(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), Alignable::globalPosition(), Alignable::globalRotation(), and i.
|
virtual |
Move with respect to the global reference frame.
Implements Alignable.
Definition at line 64 of file AlignableComposite.cc.
References Alignable::addDisplacement(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), i, GloballyPositioned< T >::move(), and Alignable::theSurface.
Referenced by Vispa.Gui.WidgetContainer.WidgetContainer::autosize(), 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 88 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), edm::hlt::Exception, i, Alignable::size(), and Alignable::surface().
|
virtual |
Move with respect to the local reference frame.
Definition at line 80 of file AlignableComposite.cc.
References move(), and Alignable::surface().
|
virtual |
Provide all components, subcomponents etc. (cf. description in base class)
Implements Alignable.
Definition at line 48 of file AlignableComposite.cc.
References align::AlignableDet, alignableObjectId(), and components().
|
virtual |
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 106 of file AlignableComposite.cc.
References Alignable::addRotation(), PV3DBase< T, PVType, FrameType >::basicVector(), AlCaHLTBitMon_QueryRunRegistry::comp, components(), Alignable::globalPosition(), i, TkRotation< T >::multiplyInverse(), GloballyPositioned< T >::rotate(), and Alignable::theSurface.
|
virtual |
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 154 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), and i.
Referenced by AlignableDet::setAlignmentPositionError(), and KalmanAlignmentAlgorithm::setAPEToZero().
|
inlineprotected |
Definition at line 104 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().
|
virtual |
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
Implements Alignable.
Definition at line 240 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), and i.
|
virtual |
Return surface deformations.
Implements Alignable.
Definition at line 339 of file AlignableComposite.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, components(), prof2calltree::count, i, and query::result.
|
private |
Definition at line 110 of file AlignableComposite.h.
Referenced by addComponent(), components(), and ~AlignableComposite().
|
protected |
Definition at line 106 of file AlignableComposite.h.
Referenced by AlignableCSCChamber::AlignableCSCChamber(), AlignableDTChamber::AlignableDTChamber(), AlignableDTSuperLayer::AlignableDTSuperLayer(), and alignableObjectId().