// // Created by ja on 8/4/15. // #pragma once #include "TbUTICommonModeSubtractor.h" #include "TbUTIChannelMaskProvider.h" #include <map> namespace TbUT { class CmsPerBeetle: public ICommonModeSubtractor { public: CmsPerBeetle(IChannelMaskProvider& p_masksProvider,double p_hitThreshold); void processEvent(RawData<>* p_data, RawData<double> **p_output); private: void calculateCorrection(RawData<>* p_inputData); void removeCM(RawData<>* p_data, RawData<double> **p_output); void initializeCorrectionMap(); IChannelMaskProvider& m_masksProvider; int m_channelNumber; double m_hitThreshold; std::map<int, double> m_correctionPerBeetle; }; }