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