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