00001 #ifndef CastorPedestalWidth_h 00002 #define CastorPedestalWidth_h 00003 00013 #include <boost/cstdint.hpp> 00014 00015 class CastorPedestalWidth { 00016 public: 00018 const float* getValues () const {return &mSigma00;} 00019 00021 float getWidth (int fCapId) const; 00022 00024 float getSigma (int fCapId1, int fCapId2) const; 00025 00026 // functions below are not supposed to be used by consumer applications 00027 CastorPedestalWidth (int fId = 0); 00028 void setSigma (int fCapId1, int fCapId2, float fSigma); 00029 00030 uint32_t rawId () const {return mId;} 00031 00032 // produces pedestal noise in assumption of near correlations and small variations 00033 void makeNoise (unsigned fFrames, const double* fGauss, double* fNoise) const; 00034 00035 private: 00036 uint32_t mId; 00037 float mSigma00; 00038 float mSigma01; 00039 float mSigma02; 00040 float mSigma03; 00041 float mSigma10; 00042 float mSigma11; 00043 float mSigma12; 00044 float mSigma13; 00045 float mSigma20; 00046 float mSigma21; 00047 float mSigma22; 00048 float mSigma23; 00049 float mSigma30; 00050 float mSigma31; 00051 float mSigma32; 00052 float mSigma33; 00053 }; 00054 00055 #endif