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