CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/Alignment/LaserAlignment/interface/LASModuleProfile.h

Go to the documentation of this file.
00001 
00002 #ifndef __LASMODULEPROFILE_H
00003 #define __LASMODULEPROFILE_H
00004 
00005 #include <vector>
00006 
00007 
00008 class LASModuleProfile {
00013 
00014  public:
00015   LASModuleProfile();
00016   LASModuleProfile( double* );
00017   LASModuleProfile( int* );
00018   void SetData( double* );
00019   void SetData( int* );
00020   double GetValue( unsigned int theStripNumber ) const { return( data[theStripNumber] ); } // return an element
00021   void SetValue( unsigned int theStripNumber, const double& theValue ) { data.at( theStripNumber ) = theValue; }
00022   void SetAllValuesTo( const double& );
00023   void DumpToArray( double[512] );
00024   LASModuleProfile& operator=( const LASModuleProfile& );
00025   LASModuleProfile operator+( const LASModuleProfile& );
00026   LASModuleProfile operator-( const LASModuleProfile& );
00027   LASModuleProfile operator+( const double[512] );
00028   LASModuleProfile operator-( const double[512] );
00029   LASModuleProfile& operator+=( const LASModuleProfile& );
00030   LASModuleProfile& operator-=( const LASModuleProfile& );
00031   LASModuleProfile& operator+=( const double[512] );
00032   LASModuleProfile& operator-=( const double[512] );
00033   LASModuleProfile& operator+=( const int[512] );
00034   LASModuleProfile& operator-=( const int[512] );
00035   LASModuleProfile& operator/=( const double );
00036 
00037  private:
00038   void Init( void );
00039   std::vector<double> data;
00040 
00041 };
00042 
00043 #endif