CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
AlignableComposite.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignment_AlignableComposite_H
2 #define Alignment_CommonAlignment_AlignableComposite_H
3 
5 
22 
23 class GeomDet;
24 
26 {
27 
28 public:
33  StructureType aType,
34  const RotationType& rot = RotationType() );
35 
37  virtual ~AlignableComposite();
38 
42  virtual void addComponent( Alignable* component );
43 
45  virtual Alignables components() const { return theComponents; }
46 
48  virtual void recursiveComponents(Alignables &result) const;
49 
51  virtual void move( const GlobalVector& displacement );
52 
54  virtual void moveComponentsLocal( const LocalVector& localDisplacement );
55 
57  virtual void moveComponentLocal( const int i, const LocalVector& localDisplacement );
58 
60  virtual void rotateInGlobalFrame( const RotationType& rotation );
61 
64  virtual void setAlignmentPositionError( const AlignmentPositionError& ape, bool propagateDown );
65 
68  virtual void addAlignmentPositionError( const AlignmentPositionError& ape, bool propagateDown );
69 
72  virtual void addAlignmentPositionErrorFromRotation( const RotationType& rotation, bool propagateDown );
73 
76  virtual void addAlignmentPositionErrorFromLocalRotation( const RotationType& rotation, bool propagateDown );
77 
79  virtual void setSurfaceDeformation(const SurfaceDeformation *deformation, bool propagateDown);
80 
83  virtual void addSurfaceDeformation(const SurfaceDeformation *deformation, bool propagateDown);
84 
86  virtual StructureType alignableObjectId() const { return theStructureType; }
87 
89  virtual void dump() const;
90 
92  virtual Alignments* alignments() const;
93 
96 
98  virtual int surfaceDeformationIdPairs(std::vector<std::pair<int,SurfaceDeformation*> > &) const;
99 
100 protected:
102  explicit AlignableComposite( const GeomDet* geomDet );
103 
104  void setSurface( const AlignableSurface& s) { theSurface = s; }
105 
107 
108 private:
111 
112  Alignables theComponents; // direct daughters
113 };
114 
115 #endif
int i
Definition: DBlmapReader.cc:9
std::vector< Alignable * > Alignables
Definition: Alignable.h:251
AlignableComposite()
default constructor hidden
uint32_t ID
Definition: Definitions.h:26
virtual void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown)
const GlobalVector & displacement() const
Return change of the global position since the creation of the object.
Definition: Alignable.h:140
virtual void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown)
tuple result
Definition: mps_fire.py:83
virtual void dump() const
Recursive printout of alignable structure.
virtual void recursiveComponents(Alignables &result) const
Provide all components, subcomponents etc. (cf. description in base class)
virtual void moveComponentsLocal(const LocalVector &localDisplacement)
Move with respect to the local reference frame.
const RotationType & rotation() const
Return change of orientation since the creation of the object.
Definition: Alignable.h:143
StructureType theStructureType
void setSurface(const AlignableSurface &s)
virtual void move(const GlobalVector &displacement)
Move with respect to the global reference frame.
virtual StructureType alignableObjectId() const
Return the alignable type identifier.
virtual Alignments * alignments() const
Return alignment data.
virtual void moveComponentLocal(const int i, const LocalVector &localDisplacement)
Move a single component with respect to the local reference frame.
virtual void addAlignmentPositionErrorFromLocalRotation(const RotationType &rotation, bool propagateDown)
virtual int surfaceDeformationIdPairs(std::vector< std::pair< int, SurfaceDeformation * > > &) const
Return surface deformations.
align::RotationType RotationType
Definition: Alignable.h:36
virtual void addSurfaceDeformation(const SurfaceDeformation *deformation, bool propagateDown)
virtual void setSurfaceDeformation(const SurfaceDeformation *deformation, bool propagateDown)
Set the surface deformation parameters - if (!propagateDown) do not affect daughters.
virtual ~AlignableComposite()
deleting its components
virtual void addAlignmentPositionErrorFromRotation(const RotationType &rotation, bool propagateDown)
virtual Alignables components() const
Return vector of direct components.
align::Alignables Alignables
Definition: Alignable.h:39
virtual void rotateInGlobalFrame(const RotationType &rotation)
Rotation interpreted in global reference frame.
virtual AlignmentErrorsExtended * alignmentErrors() const
Return vector of alignment errors.
AlignableSurface theSurface
Definition: Alignable.h:227
virtual void addComponent(Alignable *component)
align::StructureType StructureType
Definition: Alignable.h:40