Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:24

0001 
0002 #ifndef __LASMODULEPROFILE_H
0003 #define __LASMODULEPROFILE_H
0004 
0005 #include <vector>
0006 
0007 class LASModuleProfile {
0008   ///
0009   /// container class for a LAS
0010   /// SiStrip module's 512 strip signals
0011   ///
0012 
0013 public:
0014   LASModuleProfile();
0015   LASModuleProfile(double*);
0016   LASModuleProfile(int*);
0017   void SetData(double*);
0018   void SetData(int*);
0019   double GetValue(unsigned int theStripNumber) const { return (data[theStripNumber]); }  // return an element
0020   void SetValue(unsigned int theStripNumber, const double& theValue) { data.at(theStripNumber) = theValue; }
0021   void SetAllValuesTo(const double&);
0022   void DumpToArray(double[512]);
0023   LASModuleProfile operator+(const LASModuleProfile&);
0024   LASModuleProfile operator-(const LASModuleProfile&);
0025   LASModuleProfile operator+(const double[512]);
0026   LASModuleProfile operator-(const double[512]);
0027   LASModuleProfile& operator+=(const LASModuleProfile&);
0028   LASModuleProfile& operator-=(const LASModuleProfile&);
0029   LASModuleProfile& operator+=(const double[512]);
0030   LASModuleProfile& operator-=(const double[512]);
0031   LASModuleProfile& operator+=(const int[512]);
0032   LASModuleProfile& operator-=(const int[512]);
0033   LASModuleProfile& operator/=(const double);
0034 
0035 private:
0036   void Init(void);
0037   std::vector<double> data;
0038 };
0039 
0040 #endif