CMS 3D CMS Logo

AlignableDetUnit.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignableDetUnit_H
2 #define Alignment_CommonAlignment_AlignableDetUnit_H
3 
6 
7 
12 
13 class AlignableDetUnit : public Alignable
14 {
15 
16 public:
17 
19  AlignableDetUnit(const GeomDetUnit *geomDetUnit);
20 
22  ~AlignableDetUnit() override;
23 
26  void update(const GeomDetUnit* geomDetUnit);
27 
29  void addComponent( Alignable* ) override;
30 
32  Alignables components() const override { return Alignables(); }
33 
35  void recursiveComponents(Alignables &result) const override {}
36 
38  void move( const GlobalVector& displacement ) override;
39 
41  void rotateInGlobalFrame( const RotationType& rotation ) override;
42 
44  void setAlignmentPositionError(const AlignmentPositionError &ape, bool /*propDown*/) override;
45 
48  void addAlignmentPositionError(const AlignmentPositionError& ape, bool /*propDown*/) override;
49 
53  void addAlignmentPositionErrorFromRotation(const RotationType& rot, bool /*propDown*/) override;
54 
58  void addAlignmentPositionErrorFromLocalRotation(const RotationType& rot, bool /*propDown*/) override;
59 
61  void setSurfaceDeformation(const SurfaceDeformation *deformation, bool) override;
63  void addSurfaceDeformation(const SurfaceDeformation *deformation, bool) override;
64 
67 
69  void dump() const override;
70 
72  Alignments* alignments() const override;
73 
75  AlignmentErrorsExtended* alignmentErrors() const override;
76 
78  int surfaceDeformationIdPairs(std::vector<std::pair<int,SurfaceDeformation*> > &) const override;
79 
81  void cacheTransformation() override;
82 
84  void cacheTransformation(const align::RunNumber&) override;
85 
87  void restoreCachedTransformation() override;
88 
90  void restoreCachedTransformation(const align::RunNumber&) override;
91 
94 
95 private:
96 
100  Cache<SurfaceDeformation*> surfaceDeformationsCache_;
101 };
102 
103 #endif
void dump() const override
Printout information about GeomDet.
int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const override
Return surface deformations.
Cache< SurfaceDeformation * > surfaceDeformationsCache_
void addAlignmentPositionError(const AlignmentPositionError &ape, bool) override
void addAlignmentPositionErrorFromLocalRotation(const RotationType &rot, bool) override
Alignables components() const override
Returns a null vector (no components here)
void addSurfaceDeformation(const SurfaceDeformation *deformation, bool) override
Add surface deformation parameters to the existing ones (2nd argument without effect) ...
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:144
AlignmentErrorsExtended * alignmentErrors() const override
Return vector of alignment errors.
void recursiveComponents(Alignables &result) const override
Do nothing (no components here, so no subcomponents either...)
SurfaceDeformation * theCachedSurfaceDeformation
void update(const GeomDetUnit *geomDetUnit)
Alignments * alignments() const override
Return vector of alignment data.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:147
~AlignableDetUnit() override
Destructor.
AlignableDetUnit(const GeomDetUnit *geomDetUnit)
Constructor from GeomDetUnit - must not be NULL pointer!
void addComponent(Alignable *) override
No components here => exception!
void cacheTransformation() override
cache the current position, rotation and other parameters (e.g. surface deformations) ...
StructureType alignableObjectId() const override
Return the alignable type identifier.
const AlignmentPositionError * alignmentPositionError() const
alignment position error - for checking only, otherwise use alignmentErrors() above! ...
void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool) override
AlignmentPositionError * theAlignmentPositionError
void setSurfaceDeformation(const SurfaceDeformation *deformation, bool) override
Set surface deformation parameters (2nd argument without effect)
void move(const GlobalVector &displacement) override
Move with respect to the global reference frame.
void rotateInGlobalFrame(const RotationType &rotation) override
Rotation with respect to the global reference frame.
SurfaceDeformation * theSurfaceDeformation
void setAlignmentPositionError(const AlignmentPositionError &ape, bool) override
Set the AlignmentPositionError (no components => second argument ignored)
align::Alignables Alignables
Definition: Alignable.h:37
cond::RealTimeType< cond::runnumber >::type RunNumber
Definition: Utilities.h:37
void restoreCachedTransformation() override
restore the previously cached transformation