File indexing completed on 2023-03-17 10:47:16
0001 #ifndef OpticalAlignInfo_H
0002 #define OpticalAlignInfo_H
0003
0004 #include "CondFormats/Serialization/interface/Serializable.h"
0005
0006 #include <string>
0007 #include <vector>
0008 #include <iostream>
0009
0010 #include "CondFormats/OptAlignObjects/interface/OAQuality.h"
0011
0012
0013
0014
0015
0016 class OpticalAlignInfo;
0017
0018 std::ostream &operator<<(std::ostream &, const OpticalAlignInfo &);
0019
0020
0021
0022
0023
0024 class OpticalAlignParam;
0025
0026 std::ostream &operator<<(std::ostream &, const OpticalAlignParam &);
0027
0028
0029
0030
0031
0032
0033
0034 class OpticalAlignParam {
0035 public:
0036 OpticalAlignParam();
0037 OpticalAlignParam(const OpticalAlignParam &rhs);
0038
0039 std::string name() const { return name_; }
0040 double value() const { return value_; }
0041 double sigma() const { return error_; }
0042 int quality() const { return quality_; }
0043 std::string dimType() const { return dim_type_; }
0044
0045 public:
0046 double value_;
0047 double error_;
0048 int quality_;
0049 std::string name_;
0050 std::string dim_type_;
0051
0052 void clear() {
0053 value_ = 0.0;
0054 error_ = 0.0;
0055 quality_ = int(oa_unknown);
0056 name_.clear();
0057 }
0058
0059 COND_SERIALIZABLE;
0060 };
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071 class OpticalAlignInfo {
0072 public:
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086 OpticalAlignParam *findExtraEntry(std::string &name);
0087
0088 public:
0089 OpticalAlignParam x_, y_, z_, angx_, angy_, angz_;
0090 std::vector<OpticalAlignParam> extraEntries_;
0091 std::string type_;
0092 std::string name_;
0093 std::string parentName_;
0094 unsigned int ID_;
0095 void clear() {
0096 x_.clear();
0097 y_.clear();
0098 z_.clear();
0099 angx_.clear();
0100 angy_.clear();
0101 angz_.clear();
0102 extraEntries_.clear();
0103 type_.clear();
0104 ID_ = 0;
0105 }
0106
0107 COND_SERIALIZABLE;
0108 };
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125
0126
0127 #endif