Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTNoise.h.svn-base
@iaro iaro on 9 May 2016 979 bytes first attempt of automated anal
  1. /*
  2. * TbUTNoise.h
  3. *
  4. * Created on: Jan 3, 2015
  5. * Author: ADendek
  6. */
  7.  
  8. #pragma once
  9. #include "TbUTRawData.h"
  10. #include <vector>
  11.  
  12.  
  13. namespace TbUT
  14. {
  15.  
  16. class Noise
  17. {
  18. typedef std::vector<double> NoiseVector;
  19. typedef std::vector<int> ChannelEntries;
  20. public:
  21. Noise();
  22. void updateNoise(RawData<double>* p_inputData);
  23. void saveNoiseToFile(const std::string& p_filename);
  24. void retreiveNoiseFromFile(const std::string& p_filename);
  25.  
  26. double calcualteHitThreshold(RawData<double>* p_inputData, int channelBegin) const;
  27.  
  28. double getNoise(int p_channel) const{return m_noiseVector[p_channel];}
  29. double operator[](int p_channel) const {return getNoise(p_channel);}
  30.  
  31. void NormalizeNoise();
  32. void Reset();
  33.  
  34. class NoiseCalculatorError: public std::runtime_error
  35. {
  36. public:
  37. NoiseCalculatorError(std::string &msg) :
  38. std::runtime_error(msg)
  39. {
  40. }
  41. };
  42.  
  43. private:
  44.  
  45. int m_hitLimit;
  46. ChannelEntries m_channelEnties;
  47. NoiseVector m_noiseVector;
  48. NoiseVector m_meanVector;
  49. };
  50.  
  51. }