00001 #ifndef Alignment_TrackerAlignment_AlignableSiStripDet_H 00002 #define Alignment_TrackerAlignment_AlignableSiStripDet_H 00003 00014 #include "Alignment/CommonAlignment/interface/AlignableDet.h" 00015 00016 #include <vector> 00017 00018 class GluedGeomDet; 00019 class AlignTransformError; 00020 class Bounds; 00021 class StripGeomDetType; 00022 00023 class AlignableSiStripDet: public AlignableDet { 00024 public: 00026 AlignableSiStripDet(const GluedGeomDet *geomDet); 00028 virtual ~AlignableSiStripDet(); 00029 00031 virtual Alignments* alignments() const; 00033 virtual AlignmentErrors* alignmentErrors() const; 00034 00035 private: 00037 void consistifyAlignments(); 00039 void consistifyAlignmentErrors(); 00041 const AlignTransformError& errorFromId(const std::vector<AlignTransformError> &trafoErrs, 00042 align::ID id) const; 00043 00044 // void dumpCompareAPE(const std::vector<AlignTransformError> &trafoErrs1, 00045 // const std::vector<AlignTransformError> &trafoErrs2) const; 00046 // void dumpCompareEuler(const RotationType &oldRot, const RotationType &newRot) const; 00047 00054 const Bounds *theMonoBounds; 00055 const Bounds *theStereoBounds; 00056 StripGeomDetType &theMonoType; 00057 StripGeomDetType &theStereoType; 00058 }; 00059 00060 #endif