Newer
Older
TB_Chris / TbUT / src / .svn / text-base / TbUTRawDataReaderAlgorithm.h.svn-base
  1. #pragma once
  2.  
  3. #include "GaudiAlg/GaudiAlgorithm.h"
  4.  
  5. // Tb/TbKernel
  6. #include "TbKernel/ITbTimingSvc.h"
  7.  
  8. // Local
  9. #include "TbUTRawData.h"
  10. #include "TbUTAlibavaDataRetreiver.h"
  11. #include "TbUTAlbavaFileValidator.h"
  12. #include "TbUTRawDataFactory.h"
  13. #include "TbUTAlibavaDataReader.h"
  14.  
  15. #include <string>
  16.  
  17.  
  18. namespace TbUT
  19. {
  20.  
  21. class RawDataReaderAlgorithm : public GaudiAlgorithm {
  22. public:
  23. RawDataReaderAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
  24.  
  25. virtual StatusCode initialize();
  26. virtual StatusCode execute();
  27.  
  28. private:
  29. void termiateApp();
  30.  
  31. bool m_isStandalone;
  32. bool m_isAType;
  33. unsigned int m_eventNumber;
  34. unsigned int m_skipEventNumber;
  35.  
  36. std::string m_inputDataOption;
  37. std::string m_alibavaInputData;
  38. std::string m_outputLocation;
  39. int m_sensorNumber;
  40.  
  41. double m_mean;
  42. double m_sigma;
  43.  
  44.  
  45. TbUT::AlibavaDataRetreiver m_alibava;
  46. TbUT::AlbavaFileValidator m_fileValidator;
  47. TbUT::RawDataFactory::DataReaderPtr m_rawDataReader;
  48. TbUT::RawDataFactory m_inputDataFactory;
  49.  
  50. /// Pointer to timing service
  51. mutable ITbTimingSvc* m_timingSvc;
  52. /// Access timing service on-demand
  53. ITbTimingSvc* timingSvc() const {
  54. if (!m_timingSvc) m_timingSvc = svc<ITbTimingSvc>("TbTimingSvc", true);
  55. return m_timingSvc;
  56. }
  57. };
  58.  
  59. }
  60.