CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hsm_3d.cc
Go to the documentation of this file.
4 
5 #include <iostream>
6 
8 GlobalPoint hsm_3d(const std::vector<GlobalPoint>& values) {
9  const int sze = values.size();
10  if (sze == 0) {
11  throw VertexException("hsm_3d: no values given.");
12  };
13  std::vector<float> x_vals, y_vals, z_vals;
14  x_vals.reserve(sze - 1);
15  y_vals.reserve(sze - 1);
16  z_vals.reserve(sze - 1);
17  for (std::vector<GlobalPoint>::const_iterator i = values.begin(); i != values.end(); i++) {
18  x_vals.push_back(i->x());
19  y_vals.push_back(i->y());
20  z_vals.push_back(i->z());
21  };
22 
23  // FIXME isnt necessary, is it?
24  /*
25  sort ( x_vals.begin(), x_vals.end() );
26  sort ( y_vals.begin(), y_vals.end() );
27  sort ( z_vals.begin(), z_vals.end() );*/
28 
29  GlobalPoint ret(hsm_1d(x_vals), hsm_1d(y_vals), hsm_1d(z_vals));
30  return ret;
31 }
tuple ret
prodAgent to be discontinued
T hsm_1d(std::vector< T > values)
Definition: hsm_1d.h:53
GlobalPoint hsm_3d(const std::vector< GlobalPoint > &values)
cordinate wise half sample mode in 3d
Definition: hsm_3d.cc:8
Common base class.