Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTCommonModeSubtractorFactory.h.svn-base
@iaro iaro on 9 May 2016 794 bytes first attempt of automated anal
  1. /*
  2. * TbUTCommonModeSubtractorFactory.h
  3. *
  4. * Created on: Nov 24, 2014
  5. * Author: ADendek
  6. */
  7.  
  8. #pragma once
  9.  
  10. #include "TbUTCMSLinear.h"
  11. #include "TbUTCmsPerBeetle.h"
  12. #include "TbUTCMSIterativelyPerBeetle.h"
  13.  
  14. namespace TbUT
  15. {
  16.  
  17. namespace CMSType
  18. {
  19. static const std::string& Iteratively="Iteratively";
  20. static const std::string& Beetle = "Beetle";
  21. static const std::string& Linear = "Linear";
  22. }
  23.  
  24. class CommonModeSubtractorFactory
  25. {
  26. public:
  27. CommonModeSubtractorFactory(IChannelMaskProvider& p_masksProvider);
  28.  
  29. ICommonModeSubtractor* createCMSubtractor(const std::string& p_CMSType);
  30.  
  31. class NoSuchState: public std::runtime_error
  32. {
  33. public:
  34. NoSuchState(const std::string& p_errorMsg ):
  35. std::runtime_error(p_errorMsg)
  36. {
  37. }
  38. };
  39. private:
  40. IChannelMaskProvider& m_masksProvider;
  41. };
  42.  
  43. }
  44.