1 #ifndef Alignment_CommonAlignment_Alignable_H 2 #define Alignment_CommonAlignment_Alignable_H 68 virtual const Alignables&
components()
const = 0;
195 virtual void dump()
const = 0;
235 using Cache = std::map<align::RunNumber, T>;
RotationType theCachedRotation
align::ID id() const
Return the ID of Alignable, i.e. DetId of 'first' component GeomDet(Unit).
void update(align::ID, const AlignableSurface &)
virtual void rotateInLocalFrame(const RotationType &rotation)
Rotation intepreted in the local reference frame.
virtual int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const =0
virtual void rotateAroundLocalZ(Scalar radians)
Rotation around local z-axis.
virtual void rotateAroundLocalAxis(const LocalVector &axis, Scalar radians)
Rotation around arbitratry local axis.
virtual void addAlignmentPositionErrorFromRotation(const RotationType &rotation, bool propagateDown)=0
Alignable()
private default ctr. to enforce usage of the specialised ones
const SurveyDet * survey() const
Return survey info.
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
const RotationType & globalRotation() const
Return the global orientation of the object.
Cache< GlobalVector > displacementsCache_
virtual void move(const GlobalVector &displacement)=0
Movement with respect to the global reference frame.
Cache< AlignableSurface > surfacesCache_
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation, bool propagateDown)=0
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
virtual const Alignables & components() const =0
Return vector of all direct components.
Cache< RotationType > rotationsCache_
virtual void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown)=0
virtual void rotateAroundGlobalAxis(const GlobalVector &axis, Scalar radians)
Rotation around arbitratry global axis.
align::LocalVector LocalVector
AlignmentParameters * alignmentParameters() const
Get the AlignmentParameters.
GlobalVector theDisplacement
virtual void rotateAroundGlobalZ(Scalar radians)
Rotation around global z-axis.
virtual void addAlignmentPositionErrorFromLocalRotation(const RotationType &rotation, bool propagateDown)=0
virtual void recursiveComponents(Alignables &result) const =0
virtual void recenterSurface()
Recenter surface object without moving possible components.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
AlignmentParameters * theAlignmentParameters
virtual StructureType alignableObjectId() const =0
Return the alignable type identifier.
void setAlignmentParameters(AlignmentParameters *dap)
Set the AlignmentParameters.
virtual void addSurfaceDeformation(const SurfaceDeformation *deformation, bool propagateDown)=0
bool firstCompsWithParams(Alignables ¶mComps) const
virtual void addComponent(Alignable *)=0
AlignmentSurfaceDeformations * surfaceDeformations() const
Return surface deformations, sorted by DetId.
virtual void restoreCachedTransformation()
restore the previously cached transformation, also for possible components
virtual void updateMother(const GlobalVector &shift)
virtual void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown)=0
Set the alignment position error - if (!propagateDown) do not affect daughters.
const AlignableSurface & surface() const
Return the Surface (global position and orientation) of the object.
void setMother(Alignable *mother)
Assign mother to alignable.
AlignableSurface theCachedSurface
virtual void dump() const =0
Recursive printout of alignable information.
const Alignables & deepComponents() const
virtual void rotateAroundGlobalX(Scalar radians)
Rotation around global x-axis.
virtual void rotateInGlobalFrame(const RotationType &rotation)=0
void setSurvey(const SurveyDet *)
Set survey info.
void addRotation(const RotationType &rotation)
align::RotationType RotationType
GlobalVector theCachedDisplacement
virtual void rotateAroundLocalY(Scalar radians)
Rotation around local y-axis.
virtual void rotateAroundGlobalY(Scalar radians)
Rotation around global y-axis.
void addDisplacement(const GlobalVector &displacement)
virtual CompConstraintType compConstraintType() const
Return the alignable type of contraints wrt. its components.
align::PositionType PositionType
std::vector< Alignable * > Alignables
virtual Alignments * alignments() const =0
Return vector of alignment data.
virtual void cacheTransformation()
cache the current position, rotation and other parameters (e.g. surface deformations), also for possible components
virtual void rotateAroundLocalX(Scalar radians)
Rotation around local x-axis.
static unsigned int const shift
const RotationType & rotation() const
CompConstraintType compConstraintType_
const PositionType & globalPosition() const
Return the global position of the object.
std::map< align::RunNumber, T > Cache
align::GlobalVector GlobalVector
const PositionType & position() const
virtual ~Alignable()
Destructor.
virtual AlignmentErrorsExtended * alignmentErrors() const =0
Return vector of alignment errors.
const SurveyDet * theSurvey
Alignable * mother() const
Return pointer to container alignable (if any)
const DetId & geomDetId() const
align::Alignables Alignables
AlignableSurface theSurface
int size() const
Return number of direct components.
Alignables theDeepComponents
bool lastCompsWithParams(Alignables ¶mComps) const
cond::RealTimeType< cond::runnumber >::type RunNumber
align::StructureType StructureType