CMS 3D CMS Logo

AlignTransformErrorExtended.h
Go to the documentation of this file.
1 #ifndef AlignTransformErrorExtended_H
2 #define AlignTransformErrorExtended_H
4 
5 #include "CLHEP/Matrix/SymMatrix.h"
6 #include "CLHEP/Vector/RotationInterfaces.h"
7 
9 
14 public:
15  typedef CLHEP::HepSymMatrix SymMatrix;
16 
18  AlignTransformErrorExtended(const SymMatrix& symMatrix, align::ID irawId) : m_rawId(irawId) {
19  for (unsigned int i = 0; i < m_nPars; ++i)
20  for (unsigned int j = 0; j <= i; ++j)
21  m_Parameters[i * (i + 1) / 2 + j] = symMatrix[i][j];
22  }
23 
24  SymMatrix matrix() const {
26  for (unsigned int i = 0; i < m_nPars; ++i)
27  for (unsigned int j = 0; j <= i; ++j)
28  result[i][j] = m_Parameters[i * (i + 1) / 2 + j];
29  return result;
30  }
31 
32  align::ID rawId() const { return m_rawId; }
33 
34  // Implemented so this can be sorted by rawId
35  const bool operator<(const AlignTransformErrorExtended& other) const { return (m_rawId < other.rawId()); }
36 
37 private:
38  //FIXME difference here
39  static const unsigned int m_nPars = 6;
40  double m_Parameters[m_nPars * (m_nPars + 1) / 2];
42 
44 };
45 #endif //AlignTransformErrorExtended_H
mps_fire.i
i
Definition: mps_fire.py:428
AlignTransformErrorExtended::operator<
const bool operator<(const AlignTransformErrorExtended &other) const
Definition: AlignTransformErrorExtended.h:35
AlignTransformErrorExtended::matrix
SymMatrix matrix() const
Definition: AlignTransformErrorExtended.h:24
COND_SERIALIZABLE
#define COND_SERIALIZABLE
Definition: Serializable.h:39
AlignTransformErrorExtended::AlignTransformErrorExtended
AlignTransformErrorExtended(const SymMatrix &symMatrix, align::ID irawId)
Definition: AlignTransformErrorExtended.h:18
AlignTransformErrorExtended::m_rawId
align::ID m_rawId
Definition: AlignTransformErrorExtended.h:41
trackingPlots.other
other
Definition: trackingPlots.py:1460
AlignTransformErrorExtended::rawId
align::ID rawId() const
Definition: AlignTransformErrorExtended.h:32
align::ID
uint32_t ID
Definition: Definitions.h:24
Definitions.h
Serializable.h
AlignTransformErrorExtended::m_nPars
static const unsigned int m_nPars
Definition: AlignTransformErrorExtended.h:39
AlignTransformErrorExtended
Definition: AlignTransformErrorExtended.h:13
AlignTransformErrorExtended::m_Parameters
double m_Parameters[m_nPars *(m_nPars+1)/2]
Definition: AlignTransformErrorExtended.h:40
AlignTransformErrorExtended::AlignTransformErrorExtended
AlignTransformErrorExtended()
Definition: AlignTransformErrorExtended.h:17
mps_fire.result
result
Definition: mps_fire.py:311
dqmiolumiharvest.j
j
Definition: dqmiolumiharvest.py:66
AlignTransformErrorExtended::SymMatrix
CLHEP::HepSymMatrix SymMatrix
Definition: AlignTransformErrorExtended.h:15