CMS 3D CMS Logo

OpticalAlignInfo.h
Go to the documentation of this file.
1 #ifndef OpticalAlignInfo_H
2 #define OpticalAlignInfo_H
3 
5 
6 #include <string>
7 #include <vector>
8 #include <iostream>
9 
11 
16 class OpticalAlignInfo;
17 
18 std::ostream &operator<<(std::ostream &, const OpticalAlignInfo &);
19 
24 class OpticalAlignParam;
25 
26 std::ostream &operator<<(std::ostream &, const OpticalAlignParam &);
27 
35 public:
38 
39  std::string name() const { return name_; }
40  double value() const { return value_; }
41  double sigma() const { return error_; }
42  int quality() const { return quality_; }
43  std::string dimType() const { return dim_type_; }
44 
45 public:
46  double value_;
47  double error_;
48  int quality_; // f = fixed, c = calibrated, u = unknown.
51 
52  void clear() {
53  value_ = 0.0;
54  error_ = 0.0;
55  quality_ = int(oa_unknown);
56  name_.clear();
57  }
58 
60 };
61 
62 // a Class holding data for an Optical Alignment transformation
72 public:
73  /*
74  OpticalAlignParam x() const { return x_; }
75  OpticalAlignParam y() const { return y_; }
76  OpticalAlignParam z() const { return z_; }
77  OpticalAlignParam angX() const { return angx_; }
78  OpticalAlignParam angY() const { return angy_; }
79  OpticalAlignParam angZ() const { return angz_; }
80  std::vector<OpticalAlignParam> extraEntries() const { return extraEntries_; }
81  std::string type() { return type_; }
82  std::string name() const { return name_; }
83  std::string parentName() const { return parentObjectName_; }
84  unsigned int ID() const { return ID_; }
85  */
86  OpticalAlignParam *findExtraEntry(std::string &name);
87 
88 public:
89  OpticalAlignParam x_, y_, z_, angx_, angy_, angz_;
90  std::vector<OpticalAlignParam> extraEntries_;
94  unsigned int ID_;
95  void clear() {
96  x_.clear();
97  y_.clear();
98  z_.clear();
99  angx_.clear();
100  angy_.clear();
101  angz_.clear();
102  extraEntries_.clear();
103  type_.clear();
104  ID_ = 0;
105  }
106 
108 };
109 
118 /* class OpticalAlignCOPSInfo : public OpticalAlignInfo { */
119 /* public: */
120 /* OpticalAlignParam dowel1X_, dowel1Y_; */
121 /* OpticalAlignParam upCCDtoDowel2X_, upCCDtoDowel2Y_; */
122 /* OpticalAlignParam downCCDtoDowel2X_, downCCDtoDowel2Y_; */
123 /* OpticalAlignParam leftCCDtoDowel2X_, leftCCDtoDowel2Y_; */
124 /* OpticalAlignParam rightCCDtoDowel2X_, rightCCDtoDowel2Y_; */
125 /* }; */
126 
127 #endif //OpticalAlignInfo_H
int quality() const
std::string parentName_
std::string name() const
double sigma() const
std::ostream & operator<<(std::ostream &, const OpticalAlignInfo &)
std::string dimType() const
double value() const
OpticalAlignParam z_
std::vector< OpticalAlignParam > extraEntries_
#define COND_SERIALIZABLE
Definition: Serializable.h:38
std::string dim_type_
unsigned int ID_