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 
28 
36  public:
39 
40  std::string name() const { return name_; }
41  double value() const { return value_; }
42  double sigma() const { return error_; }
43  int quality() const { return quality_; }
44  std::string dimType() const { return dim_type_; }
45 
46  public:
47  double value_;
48  double error_;
49  int quality_; // f = fixed, c = calibrated, u = unknown.
52 
53  void clear() {
54  value_ = 0.0;
55  error_ = 0.0;
56  quality_ = int( oa_unknown );
57  name_.clear();
58  }
59 
61 };
62 
63 // a Class holding data for an Optical Alignment transformation
73  public:
74  /*
75  OpticalAlignParam x() const { return x_; }
76  OpticalAlignParam y() const { return y_; }
77  OpticalAlignParam z() const { return z_; }
78  OpticalAlignParam angX() const { return angx_; }
79  OpticalAlignParam angY() const { return angy_; }
80  OpticalAlignParam angZ() const { return angz_; }
81  std::vector<OpticalAlignParam> extraEntries() const { return extraEntries_; }
82  std::string type() { return type_; }
83  std::string name() const { return name_; }
84  std::string parentName() const { return parentObjectName_; }
85  unsigned int ID() const { return ID_; }
86  */
87  OpticalAlignParam* findExtraEntry( std::string& name );
88 
89  public:
90  OpticalAlignParam x_, y_, z_, angx_, angy_, angz_;
91  std::vector<OpticalAlignParam> extraEntries_;
95  unsigned int ID_;
96  void clear() {
97  x_.clear();
98  y_.clear();
99  z_.clear();
100  angx_.clear();
101  angy_.clear();
102  angz_.clear();
103  extraEntries_.clear();
104  type_.clear();
105  ID_ = 0;
106  }
107 
109 };
110 
111 
120 /* class OpticalAlignCOPSInfo : public OpticalAlignInfo { */
121 /* public: */
122 /* OpticalAlignParam dowel1X_, dowel1Y_; */
123 /* OpticalAlignParam upCCDtoDowel2X_, upCCDtoDowel2Y_; */
124 /* OpticalAlignParam downCCDtoDowel2X_, downCCDtoDowel2Y_; */
125 /* OpticalAlignParam leftCCDtoDowel2X_, leftCCDtoDowel2Y_; */
126 /* OpticalAlignParam rightCCDtoDowel2X_, rightCCDtoDowel2Y_; */
127 /* }; */
128 
129 #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_