#include <AlignableSiStripDet.h>
Public Member Functions | |
AlignableSiStripDet (const GluedGeomDet *geomDet) | |
Constructor. More... | |
Alignments * | alignments () const override |
first consistify with component detunits, then call method from AlignableDet More... | |
~AlignableSiStripDet () override | |
reduntantly make destructor virtual More... | |
Public Member Functions inherited from AlignableDet | |
void | addAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) override |
void | addAlignmentPositionErrorFromRotation (const RotationType &rot, bool propagateDown) override |
AlignableDet (const GeomDet *geomDet, bool addComponents=true) | |
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... | |
void | setAlignmentPositionError (const AlignmentPositionError &ape, bool propagateDown) override |
Set the AlignmentPositionError and, if (propagateDown), to all components. More... | |
void | update (const GeomDet *geomDet, bool updateComponents=true) |
~AlignableDet () override | |
Destructor. More... | |
Public Member Functions inherited from AlignableComposite | |
void | addAlignmentPositionErrorFromLocalRotation (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... | |
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 | 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... | |
Private Member Functions | |
void | consistifyAlignments () |
make alignments consistent with daughters More... | |
Private Attributes | |
const Bounds * | theMonoBounds |
const StripGeomDetType & | theMonoType |
const Bounds * | theStereoBounds |
const StripGeomDetType & | theStereoType |
An alignable for GluedDets in Strip tracker, taking care of consistency with AlignableDet components.
First implementation April/May 2008
Definition at line 23 of file AlignableSiStripDet.h.
AlignableSiStripDet::AlignableSiStripDet | ( | const GluedGeomDet * | geomDet | ) |
Constructor.
Definition at line 26 of file AlignableSiStripDet.cc.
References AlignableComposite::components(), Exception, GeomDet::geographicalId(), GluedGeomDet::monoDet(), GluedGeomDet::stereoDet(), and units().
|
override |
reduntantly make destructor virtual
Definition at line 51 of file AlignableSiStripDet.cc.
References theMonoBounds, and theStereoBounds.
|
overridevirtual |
first consistify with component detunits, then call method from AlignableDet
Reimplemented from AlignableDet.
Definition at line 57 of file AlignableSiStripDet.cc.
References AlignableDet::alignments(), and consistifyAlignments().
|
private |
make alignments consistent with daughters
Definition at line 64 of file AlignableSiStripDet.cc.
References Alignable::addDisplacement(), Alignable::addRotation(), PV3DBase< T, PVType, FrameType >::basicVector(), newFWLiteAna::build, Bounds::clone(), AlignableComposite::components(), Alignable::globalPosition(), Alignable::globalRotation(), GloballyPositioned< T >::position(), GloballyPositioned< T >::rotation(), Alignable::rotation(), theMonoBounds, theMonoType, theStereoBounds, theStereoType, and Alignable::theSurface.
Referenced by alignments().
|
private |
The following four members are needed to recalculate the surface in consistifyAlignments, to get rid of a GluedDet* which is disregarded since it could become an invalid pointer in the next event (theoretically...). But this solution is not better, the references for the types would become invalid together with the GeomDets they are taken from. StripGeomDetType has neither clone() and nor a decent copy constructor, so I cannot go the the same way as for the bounds. Sigh!
Definition at line 45 of file AlignableSiStripDet.h.
Referenced by consistifyAlignments(), and ~AlignableSiStripDet().
|
private |
Definition at line 47 of file AlignableSiStripDet.h.
Referenced by consistifyAlignments().
|
private |
Definition at line 46 of file AlignableSiStripDet.h.
Referenced by consistifyAlignments(), and ~AlignableSiStripDet().
|
private |
Definition at line 48 of file AlignableSiStripDet.h.
Referenced by consistifyAlignments().