CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Alignment/CommonAlignment/interface/AlignableDet.h

Go to the documentation of this file.
00001 #ifndef Alignment_CommonAlignment_AlignableDet_h
00002 #define Alignment_CommonAlignment_AlignableDet_h
00003 
00004 #include "Alignment/CommonAlignment/interface/AlignableComposite.h"
00005 
00008 class AlignableDet: public AlignableComposite 
00009 {
00010 
00011 public:
00012   
00015   AlignableDet( const GeomDet* geomDet, bool addComponents = true );
00016   
00018   virtual ~AlignableDet();
00019 
00021   virtual void setAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown);
00022 
00025   virtual void addAlignmentPositionError(const AlignmentPositionError &ape, bool propagateDown);
00026 
00030   virtual void addAlignmentPositionErrorFromRotation(const RotationType &rot, bool propagateDown);
00031 
00032   // No need to overwrite, version from AlignableComposite is just fine:
00033   // virtual void addAlignmentPositionErrorFromLocalRotation(const RotationType &rot,
00034   //                                                      bool propagateDown);
00035 
00037   virtual Alignments* alignments() const;
00038 
00040   virtual AlignmentErrors* alignmentErrors() const;
00041 
00043   const AlignmentPositionError* alignmentPositionError() const { return theAlignmentPositionError;}
00044 
00045 private:
00046 
00047   AlignmentPositionError* theAlignmentPositionError;
00048 
00049 };
00050 
00051 #endif // ALIGNABLE_DET_H