- /*
- * TbUTNoise.h
- *
- * Created on: Jan 3, 2015
- * Author: ADendek
- */
-
- #pragma once
- #include "TbUTRawData.h"
- #include <vector>
-
-
- namespace TbUT
- {
-
- class Noise
- {
- typedef std::vector<double> NoiseVector;
- typedef std::vector<int> ChannelEntries;
- public:
- Noise();
- void updateNoise(RawData<double>* p_inputData);
- void saveNoiseToFile(const std::string& p_filename);
- void retreiveNoiseFromFile(const std::string& p_filename);
-
- double calcualteHitThreshold(RawData<double>* p_inputData, int channelBegin) const;
-
- double getNoise(int p_channel) const{return m_noiseVector[p_channel];}
- double operator[](int p_channel) const {return getNoise(p_channel);}
-
- void NormalizeNoise();
- void Reset();
-
- class NoiseCalculatorError: public std::runtime_error
- {
- public:
- NoiseCalculatorError(std::string &msg) :
- std::runtime_error(msg)
- {
- }
- };
-
- private:
-
- int m_hitLimit;
- ChannelEntries m_channelEnties;
- NoiseVector m_noiseVector;
- NoiseVector m_meanVector;
- };
-
- }