CMS 3D CMS Logo

OpticalAlignInfo.cc
Go to the documentation of this file.
2 
3 #include <iostream>
4 #include <iomanip>
5 
7  quality_ = -1;
8  dim_type_ = "";
9 }
10 
11 std::ostream& operator<<(std::ostream& os, const OpticalAlignInfo& r) {
12  os << "Name: " << r.name_ << std::endl;
13  os << "Parent Name: " << r.parentName_ << std::endl;
14  os << "Type: " << r.type_ << " ID: " << r.ID_ << std::endl;
15  int iw = os.width(); // save current width
16  int ip = os.precision(); // save current precision
17  int now = 12;
18  int nop = 5;
19  os << std::setw(now) << std::setprecision(nop) << "member";
20  os << std::setw(now) << std::setprecision(nop) << "dim_type";
21  os << std::setw(now) << std::setprecision(nop) << "value";
22  os << std::setw(now) << std::setprecision(nop) << "error";
23  os << std::setw(now) << std::setprecision(nop) << "quality" << std::endl;
24  os << std::setw(now) << std::setprecision(nop) << r.x_ << std::endl;
25  os << std::setw(now) << std::setprecision(nop) << r.y_ << std::endl;
26  os << std::setw(now) << std::setprecision(nop) << r.z_ << std::endl;
27  os << std::setw(now) << std::setprecision(nop) << r.angx_ << std::endl;
28  os << std::setw(now) << std::setprecision(nop) << r.angy_ << std::endl;
29  os << std::setw(now) << std::setprecision(nop) << r.angz_ << std::endl;
30  os << std::setw(now) << std::setprecision(nop) << "--- Extra Entries --- " << std::endl;
31  size_t max = r.extraEntries_.size();
32  size_t iE = 0;
33  while (iE < max) {
34  os << "[" << iE << "]" << r.extraEntries_[iE];
35  iE++;
36  }
37  os << std::setprecision(ip) << std::setw(iw);
38  return os;
39 }
40 
41 std::ostream& operator<<(std::ostream& os, const OpticalAlignParam& r) {
42  int iw = std::cout.width(); // save current width
43  int ip = std::cout.precision(); // save current precision
44  int now = 12;
45  int nop = 5;
46  os << std::setw(now) << std::setprecision(nop) << r.name_;
47  os << std::setw(now) << std::setprecision(nop) << r.dim_type_;
48  os << std::setw(now) << std::setprecision(nop) << r.value_;
49  os << std::setw(now) << std::setprecision(nop) << r.error_;
50  os << std::setw(now) << std::setprecision(nop) << r.quality_ << std::endl;
51 
52  // Reset the values we changed
53  std::cout << std::setprecision(ip) << std::setw(iw);
54  return os;
55 }
56 
58  value_ = rhs.value_;
59  error_ = rhs.error_;
60  quality_ = rhs.quality_;
61  name_ = rhs.name_;
62  dim_type_ = rhs.dim_type_;
63 }
64 
66  OpticalAlignParam* param = nullptr;
67  std::vector<OpticalAlignParam>::iterator ite;
68  for (ite = extraEntries_.begin(); ite != extraEntries_.end(); ite++) {
69  if ((*ite).name_ == name) {
70  param = &(*ite);
71  break;
72  }
73  }
74  return param;
75 }
std::string parentName_
OpticalAlignParam x_
std::string name() const
OpticalAlignParam angx_
OpticalAlignParam * findExtraEntry(std::string &name)
OpticalAlignParam y_
OpticalAlignParam angz_
OpticalAlignParam z_
std::vector< OpticalAlignParam > extraEntries_
std::ostream & operator<<(std::ostream &os, const OpticalAlignInfo &r)
OpticalAlignParam angy_
std::string dim_type_
unsigned int ID_