CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/Alignment/SurveyAnalysis/interface/SurveyPxbImage.h

Go to the documentation of this file.
00001 #ifndef GUARD_surveypxbimage_h
00002 #define GUARD_surveypxbimage_h
00003 
00004 #include <sstream>
00005 #include <vector>
00006 #include <utility>
00007 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
00008 #include "DataFormats/GeometryVector/interface/LocalTag.h"
00009 #include "DataFormats/GeometryVector/interface/Point3DBase.h"
00010 
00012 class SurveyPxbImage
00013 {
00014     public:
00015         typedef unsigned int count_t;
00016         typedef unsigned int id_t;
00017         typedef double value_t;
00018         typedef Point3DBase<value_t, LocalTag> coord_t;
00019         typedef std::pair<id_t,id_t> idPair_t;
00020 
00022         enum location{
00023             ll, // lower left mark   (0)
00024             ul, // upper left mark   (1)
00025             lr, // lower right mark  (2)
00026             ur  // upper right mark  (3)
00027         };
00028 
00029         // Constructors
00030         SurveyPxbImage();
00052         SurveyPxbImage(std::istringstream &iss) : isValidFlag_(false)
00053         {
00054                 fill(iss);
00055         };
00056 
00057         void fill(std::istringstream &iss);
00058 
00060         const id_t getIdFirst() { return idPair_.first; };
00062         const id_t getIdSecond() { return idPair_.second; };
00064         const idPair_t getIdPair() { return idPair_; };
00065 
00069     const coord_t getCoord(count_t m);  
00070 
00072         const value_t getSigmaX() { return sigma_x_; }
00073 
00075         const value_t getSigmaY() { return sigma_y_; }
00076 
00078         bool isValid() { return isValidFlag_; };
00079         
00080 
00081     protected:
00083         std::vector<coord_t> measurementVec_;
00084 
00086         value_t sigma_x_, sigma_y_;
00087 
00089         bool isRotated_;
00090 
00092         bool isValidFlag_;
00093         
00096         idPair_t idPair_;
00097         
00098 };
00099 
00100 #endif
00101