CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 {
18 
19 public:
20 
21  typedef std::map< Alignable*, AlgebraicMatrix > CorrelationsTable;
22  typedef std::map< Alignable*, CorrelationsTable* > Correlations;
23 
25 
26  virtual ~AlignmentCorrelationsStore( void ) {}
27 
30  virtual void correlations( Alignable* ap1, Alignable* ap2,
31  AlgebraicSymMatrix& cov, int row, int col ) const;
32 
35  virtual void setCorrelations( Alignable* ap1, Alignable* ap2,
36  const AlgebraicSymMatrix& cov, int row, int col );
37 
39  virtual void setCorrelations( Alignable* ap1, Alignable* ap2, AlgebraicMatrix& mat );
40 
42  virtual bool correlationsAvailable( Alignable* ap1, Alignable* ap2 ) const;
43 
45  virtual void resetCorrelations( void );
46 
48  virtual unsigned int size( void ) const;
49 
50 protected:
51 
53  const AlgebraicSymMatrix& cov, int row, int col, bool transpose );
54 
55  virtual void fillCovariance( Alignable* ap1, Alignable* ap2, const AlgebraicMatrix& entry,
56  AlgebraicSymMatrix& cov, int row, int col ) const;
57 
58  virtual void fillCovarianceT( Alignable* ap1, Alignable* ap2, const AlgebraicMatrix& entry,
59  AlgebraicSymMatrix& cov, int row, int col ) const;
60 
61  virtual void readFromCovariance( Alignable* ap1, Alignable* ap2, AlgebraicMatrix& entry,
62  const AlgebraicSymMatrix& cov, int row, int col );
63 
64  virtual void readFromCovarianceT( Alignable* ap1, Alignable* ap2, AlgebraicMatrix& entry,
65  const AlgebraicSymMatrix& cov, int row, int col );
66 
68 
69 };
70 
71 #endif
std::map< Alignable *, AlgebraicMatrix > CorrelationsTable
virtual void fillCovariance(Alignable *ap1, Alignable *ap2, const AlgebraicMatrix &entry, AlgebraicSymMatrix &cov, int row, int col) const
virtual void fillCorrelationsTable(Alignable *ap1, Alignable *ap2, CorrelationsTable *table, const AlgebraicSymMatrix &cov, int row, int col, bool transpose)
std::map< Alignable *, CorrelationsTable * > Correlations
virtual 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)
CLHEP::HepMatrix AlgebraicMatrix
virtual void fillCovarianceT(Alignable *ap1, Alignable *ap2, const AlgebraicMatrix &entry, AlgebraicSymMatrix &cov, int row, int col) const
virtual void resetCorrelations(void)
Reset correlations.
#define table(NAME)
Definition: DbCore.h:49
virtual void correlations(Alignable *ap1, Alignable *ap2, AlgebraicSymMatrix &cov, int row, int col) const
CLHEP::HepSymMatrix AlgebraicSymMatrix
int col
Definition: cuy.py:1008
virtual void readFromCovariance(Alignable *ap1, Alignable *ap2, AlgebraicMatrix &entry, const AlgebraicSymMatrix &cov, int row, int col)