Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTCommonModeSubtractorAlgorithm.h.svn-base
  1. /*
  2. * TbUTCommonModeSubtractorAlgorithm.h
  3. *
  4. * Created on: Nov 24, 2014
  5. * Author: ADendek
  6. */
  7.  
  8. #pragma once
  9.  
  10. #include "GaudiAlg/GaudiAlgorithm.h"
  11.  
  12. #include "TbUTRawData.h"
  13. #include "TbUTCommonModeSubtractorFactory.h"
  14. #include "TbUTChannelMaskProvider.h"
  15. #include "TbUTChannelMaskFileValidator.h"
  16. #include "TbUTNoiseCalculatorfactory.h"
  17. #include "TbUTNoise.h"
  18. #include <boost/shared_ptr.hpp>
  19.  
  20. namespace TbUT
  21. {
  22.  
  23. class CommonModeSubtractorAlgorithm : public GaudiAlgorithm
  24. {
  25. typedef boost::shared_ptr<ICommonModeSubtractor> CMSubtractorPtr;
  26. public:
  27. CommonModeSubtractorAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
  28.  
  29. virtual StatusCode initialize();
  30. virtual StatusCode execute();
  31. virtual StatusCode finalize();
  32. private:
  33.  
  34. StatusCode initializeBase();
  35. StatusCode buildSubtractorEngine();
  36. StatusCode buildNoiseCalculator();
  37. StatusCode retriveMasksFromFile();
  38.  
  39. StatusCode getData();
  40. void processEvent();
  41. StatusCode skippTreaningEvent();
  42.  
  43. StatusCode saveNoiseToFile();
  44.  
  45. RawDataContainer<>* m_dataContainer;
  46. RawData<>* m_data;
  47. RawDataContainer<double>* m_outputContainer;
  48.  
  49.  
  50. std::string m_inputDataLocation;
  51. std::string m_outputDataLocation;
  52. std::string m_channelMaskInputLocation;
  53. std::string m_CMSOption;
  54. std::string m_noiseCalculatorType;
  55. std::string m_noiseOutputLocation;
  56.  
  57. int m_event;
  58. int m_skipEvent;
  59.  
  60. ChannelMaskFileValidator m_channelMaskFileValidator;
  61. ChannelMaskProvider m_channelMaskProvider;
  62. CommonModeSubtractorFactory m_SubtractorFactory;
  63. CMSubtractorPtr m_CMSEnginePtr;
  64. NoiseCalculatorFactory m_noiseCalculatorFactory;
  65. NoiseCalculatorFactory::NoiseCalcualtorPtr m_noiseCalculatorPtr;
  66.  
  67. };
  68.  
  69. }
  70.  
  71.  
  72.  
  73.