Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:39:14

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 LASModuleProfile&);
0026   LASModuleProfile operator+(const double[512]);
0027   LASModuleProfile operator-(const double[512]);
0028   LASModuleProfile& operator+=(const LASModuleProfile&);
0029   LASModuleProfile& operator-=(const LASModuleProfile&);
0030   LASModuleProfile& operator+=(const double[512]);
0031   LASModuleProfile& operator-=(const double[512]);
0032   LASModuleProfile& operator+=(const int[512]);
0033   LASModuleProfile& operator-=(const int[512]);
0034   LASModuleProfile& operator/=(const double);
0035 
0036 private:
0037   void Init(void);
0038   std::vector<double> data;
0039 };
0040 
0041 #endif