CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_0/src/Alignment/CommonAlignment/interface/SurveyDet.h

Go to the documentation of this file.
00001 #ifndef Alignment_CommonAlignment_SurveyDet_h
00002 #define Alignment_CommonAlignment_SurveyDet_h
00003 
00013 #include "Alignment/CommonAlignment/interface/AlignableSurface.h"
00014 
00015 class SurveyDet
00016 {
00017   public:
00018 
00033   SurveyDet(
00034             const AlignableSurface&,  // set the surface
00035             const align::ErrorMatrix& // set the survey errors
00036             );
00037 
00038   inline const align::PositionType& position() const;
00039 
00040   inline const align::RotationType& rotation() const;
00041 
00042   inline const align::ErrorMatrix& errors() const;
00043 
00044   inline const align::LocalPoints& localPoints() const;
00045 
00046   inline align::GlobalPoints globalPoints() const;
00047 
00050   AlgebraicMatrix derivatives(
00051                               unsigned int index // index of point
00052                               ) const;
00053 
00054   private:
00055 
00056   AlignableSurface theSurface; // surface of det from survey info
00057 
00058   align::ErrorMatrix theErrors;
00059 
00060   std::vector<align::LocalPoint> thePoints; // survey points on the surface
00061 };
00062 
00063 const align::PositionType& SurveyDet::position() const
00064 {
00065   return theSurface.position();
00066 }
00067 
00068 const align::RotationType& SurveyDet::rotation() const
00069 {
00070   return theSurface.rotation();
00071 }
00072 
00073 const align::ErrorMatrix& SurveyDet::errors() const
00074 {
00075   return theErrors;
00076 }
00077 
00078 const align::LocalPoints& SurveyDet::localPoints() const
00079 {
00080   return thePoints;
00081 }
00082 
00083 align::GlobalPoints SurveyDet::globalPoints() const
00084 {
00085   return theSurface.toGlobal(thePoints);
00086 }
00087 
00088 #endif