CMS 3D CMS Logo

AlignableDetUnit.h

Go to the documentation of this file.
00001 #ifndef Alignment_CommonAlignment_AlignableDetUnit_H
00002 #define Alignment_CommonAlignment_AlignableDetUnit_H
00003 
00004 #include "Alignment/CommonAlignment/interface/Alignable.h"
00005 
00010 
00011 class AlignableDetUnit : public Alignable 
00012 {
00013 
00014 public:
00015   
00017   AlignableDetUnit( align::ID, const AlignableSurface& );
00018   
00020   virtual ~AlignableDetUnit();
00021 
00023   virtual void addComponent( Alignable* );
00024 
00026   virtual Alignables components() const { return Alignables(); }
00027 
00029   virtual void recursiveComponents(Alignables &result) const {}
00030 
00032   virtual void move( const GlobalVector& displacement );
00033 
00035   virtual void rotateInGlobalFrame( const RotationType& rotation );
00036 
00038   virtual void setAlignmentPositionError(const AlignmentPositionError& ape);
00039 
00041   virtual void addAlignmentPositionError(const AlignmentPositionError& ape);
00042 
00045   virtual void addAlignmentPositionErrorFromRotation(const RotationType& rot);
00046 
00049   virtual void addAlignmentPositionErrorFromLocalRotation(const RotationType& rot);
00050 
00052   virtual StructureType alignableObjectId () const { return align::AlignableDetUnit; }
00053 
00055   virtual void dump() const;
00056 
00058   virtual Alignments* alignments() const;
00059 
00061   virtual AlignmentErrors* alignmentErrors() const;
00062 
00063 private:
00064 
00065   AlignmentPositionError* theAlignmentPositionError;
00066 
00067 };
00068 
00069 #endif 

Generated on Tue Jun 9 17:23:41 2009 for CMSSW by  doxygen 1.5.4