CMS 3D CMS Logo

AlignmentCorrelationsStore.h
Go to the documentation of this file.
1 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentCorrelationsStore_h
2 #define Alignment_CommonAlignmentAlgorithm_AlignmentCorrelationsStore_h
3 
9 
10 #include <map>
11 
13 
14 class Alignable;
15 
17 public:
18  typedef std::map<Alignable*, AlgebraicMatrix> CorrelationsTable;
19  typedef std::map<Alignable*, CorrelationsTable*> Correlations;
20 
22 
23  virtual ~AlignmentCorrelationsStore(void) {}
24 
27  virtual void correlations(Alignable* ap1, Alignable* ap2, AlgebraicSymMatrix& cov, int row, int col) const;
28 
31  virtual void setCorrelations(Alignable* ap1, Alignable* ap2, const AlgebraicSymMatrix& cov, int row, int col);
32 
34  virtual void setCorrelations(Alignable* ap1, Alignable* ap2, AlgebraicMatrix& mat);
35 
37  virtual bool correlationsAvailable(Alignable* ap1, Alignable* ap2) const;
38 
40  virtual void resetCorrelations(void);
41 
43  virtual unsigned int size(void) const;
44 
45 private:
47  Alignable* ap2,
48  CorrelationsTable* table,
49  const AlgebraicSymMatrix& cov,
50  int row,
51  int col,
52  bool transpose);
53 
54  void fillCovariance(
55  Alignable* ap1, Alignable* ap2, const AlgebraicMatrix& entry, AlgebraicSymMatrix& cov, int row, int col) const;
56 
57  void fillCovarianceT(
58  Alignable* ap1, Alignable* ap2, const AlgebraicMatrix& entry, AlgebraicSymMatrix& cov, int row, int col) const;
59 
60  void readFromCovariance(
61  Alignable* ap1, Alignable* ap2, AlgebraicMatrix& entry, const AlgebraicSymMatrix& cov, int row, int col);
62 
64  Alignable* ap1, Alignable* ap2, AlgebraicMatrix& entry, const AlgebraicSymMatrix& cov, int row, int col);
65 
66  Correlations theCorrelations;
67 };
68 
69 #endif
def transpose(a)
Definition: geometryDiff.py:39
void fillCovariance(Alignable *ap1, Alignable *ap2, const AlgebraicMatrix &entry, AlgebraicSymMatrix &cov, int row, int col) const
void fillCorrelationsTable(Alignable *ap1, Alignable *ap2, CorrelationsTable *table, const AlgebraicSymMatrix &cov, int row, int col, bool transpose)
void readFromCovarianceT(Alignable *ap1, Alignable *ap2, AlgebraicMatrix &entry, const AlgebraicSymMatrix &cov, int row, int col)
virtual bool correlationsAvailable(Alignable *ap1, Alignable *ap2) const
Check whether correlations are stored for a given pair of alignables.
virtual unsigned int size(void) const
Get number of stored correlations.
virtual void setCorrelations(Alignable *ap1, Alignable *ap2, const AlgebraicSymMatrix &cov, int row, int col)
std::map< Alignable *, AlgebraicMatrix > CorrelationsTable
CLHEP::HepMatrix AlgebraicMatrix
void fillCovarianceT(Alignable *ap1, Alignable *ap2, const AlgebraicMatrix &entry, AlgebraicSymMatrix &cov, int row, int col) const
virtual void resetCorrelations(void)
Reset correlations.
std::map< Alignable *, CorrelationsTable * > Correlations
virtual void correlations(Alignable *ap1, Alignable *ap2, AlgebraicSymMatrix &cov, int row, int col) const
col
Definition: cuy.py:1010
CLHEP::HepSymMatrix AlgebraicSymMatrix
void readFromCovariance(Alignable *ap1, Alignable *ap2, AlgebraicMatrix &entry, const AlgebraicSymMatrix &cov, int row, int col)