File indexing completed on 2024-04-06 11:56:08
0001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentExtendedCorrelationsEntry_h
0002 #define Alignment_CommonAlignmentAlgorithm_AlignmentExtendedCorrelationsEntry_h
0003
0004 #include <vector>
0005 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h"
0006
0007
0008
0009
0010
0011 class AlignmentExtendedCorrelationsEntry {
0012 public:
0013
0014 AlignmentExtendedCorrelationsEntry(void);
0015
0016
0017 explicit AlignmentExtendedCorrelationsEntry(short unsigned int nRows, short unsigned int nCols);
0018
0019
0020 explicit AlignmentExtendedCorrelationsEntry(short unsigned int nRows, short unsigned int nCols, const float init);
0021
0022
0023 explicit AlignmentExtendedCorrelationsEntry(const AlgebraicMatrix& mat);
0024
0025
0026 ~AlignmentExtendedCorrelationsEntry(void) {}
0027
0028
0029 inline float& operator()(short unsigned int iRow, short unsigned int jCol) { return theData[iRow * theNCols + jCol]; }
0030
0031
0032 inline const float operator()(short unsigned int iRow, short unsigned int jCol) const {
0033 return theData[iRow * theNCols + jCol];
0034 }
0035
0036
0037 inline const short unsigned int numRow(void) const { return theNRows; }
0038
0039
0040 inline const short unsigned int numCol(void) const { return theNCols; }
0041
0042
0043 void operator*=(const float multiply);
0044
0045
0046 AlgebraicMatrix matrix(void) const;
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057 private:
0058
0059
0060 short unsigned int theNRows;
0061 short unsigned int theNCols;
0062
0063 std::vector<float> theData;
0064 };
0065
0066 #endif