![]() |
![]() |
00001 #ifndef Alignment_CommonAlignmentAlgorithm_AlignmentExtendedCorrelationsEntry_h 00002 #define Alignment_CommonAlignmentAlgorithm_AlignmentExtendedCorrelationsEntry_h 00003 00004 #include <vector> 00005 #include "DataFormats/CLHEP/interface/AlgebraicObjects.h" 00006 00007 00011 00012 00013 class AlignmentExtendedCorrelationsEntry 00014 { 00015 00016 public: 00017 00019 AlignmentExtendedCorrelationsEntry( void ); 00020 00022 explicit AlignmentExtendedCorrelationsEntry( short unsigned int nRows, short unsigned int nCols ); 00023 00025 explicit AlignmentExtendedCorrelationsEntry( short unsigned int nRows, short unsigned int nCols, const float init ); 00026 00028 explicit AlignmentExtendedCorrelationsEntry( const AlgebraicMatrix& mat ); 00029 00031 ~AlignmentExtendedCorrelationsEntry( void ) {} 00032 00034 inline float& operator()( short unsigned int iRow, short unsigned int jCol ) { return theData[iRow*theNCols+jCol]; } 00035 00037 inline const float operator()( short unsigned int iRow, short unsigned int jCol ) const { return theData[iRow*theNCols+jCol]; } 00038 00040 inline const short unsigned int numRow( void ) const { return theNRows; } 00041 00043 inline const short unsigned int numCol( void ) const { return theNCols; } 00044 00046 void operator*=( const float multiply ); 00047 00049 AlgebraicMatrix matrix( void ) const; 00050 00051 // /// Get the counter's value. 00052 // inline const int counter( void ) const { return theCounter; } 00053 00054 // /// Increase the counter's value by 1. 00055 // inline void incrementCounter( void ) { ++theCounter; } 00056 00057 // /// Decrease the counter's value by 1. 00058 // inline void decrementCounter( void ) { --theCounter; } 00059 00060 private: 00061 00062 // int theCounter; 00063 00064 short unsigned int theNRows; 00065 short unsigned int theNCols; 00066 00067 std::vector< float > theData; 00068 00069 }; 00070 00071 #endif