File indexing completed on 2024-04-06 11:57:22
0001 #ifndef GUARD_surveypxbimage_h
0002 #define GUARD_surveypxbimage_h
0003
0004 #include <sstream>
0005 #include <vector>
0006 #include <utility>
0007 #include "DataFormats/GeometryVector/interface/LocalPoint.h"
0008 #include "DataFormats/GeometryVector/interface/LocalTag.h"
0009 #include "DataFormats/GeometryVector/interface/Point3DBase.h"
0010
0011
0012 class SurveyPxbImage {
0013 public:
0014 typedef unsigned int count_t;
0015 typedef unsigned int id_t;
0016 typedef double value_t;
0017 typedef Point3DBase<value_t, LocalTag> coord_t;
0018 typedef std::pair<id_t, id_t> idPair_t;
0019
0020
0021 enum location {
0022 ll,
0023 ul,
0024 lr,
0025 ur
0026 };
0027
0028
0029 SurveyPxbImage();
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051 SurveyPxbImage(std::istringstream &iss) : isValidFlag_(false) { fill(iss); };
0052
0053 void fill(std::istringstream &iss);
0054
0055
0056 id_t getIdFirst() { return idPair_.first; };
0057
0058 id_t getIdSecond() { return idPair_.second; };
0059
0060 const idPair_t getIdPair() { return idPair_; };
0061
0062
0063
0064
0065 const coord_t getCoord(count_t m);
0066
0067
0068 value_t getSigmaX() { return sigma_x_; }
0069
0070
0071 value_t getSigmaY() { return sigma_y_; }
0072
0073
0074 bool isValid() { return isValidFlag_; };
0075
0076 protected:
0077
0078 std::vector<coord_t> measurementVec_;
0079
0080
0081 value_t sigma_x_, sigma_y_;
0082
0083
0084 bool isRotated_;
0085
0086
0087 bool isValidFlag_;
0088
0089
0090
0091 idPair_t idPair_;
0092 };
0093
0094 #endif