Newer
Older
TB_Chris / TbAlgorithms / src / .svn / text-base / TbHitMonitor.h.svn-base
  1. #ifndef TB_HIT_MONITOR_H
  2. #define TB_HIT_MONITOR_H 1
  3.  
  4. // AIDA
  5. #include "AIDA/IHistogram1D.h"
  6. #include "AIDA/IHistogram2D.h"
  7. #include "AIDA/IProfile1D.h"
  8.  
  9. // Tb/TbKernel
  10. #include "TbKernel/TbAlgorithm.h"
  11.  
  12. /** @class TbHitMonitor TbHitMonitor.h
  13. *
  14. * Algorithm to produce monitoring histograms for Timepix3 pixel hits.
  15. *
  16. * @author Tim Evans (timothy.david.evans@cern.ch)
  17. * @date 2014-04-01
  18. */
  19.  
  20. class TbHitMonitor : public TbAlgorithm {
  21. public:
  22. /// Standard constructor
  23. TbHitMonitor(const std::string& name, ISvcLocator* pSvcLocator);
  24. /// Destructor
  25. virtual ~TbHitMonitor();
  26.  
  27. virtual StatusCode initialize(); ///< Algorithm initialization
  28. virtual StatusCode execute(); ///< Algorithm execution
  29.  
  30. private:
  31. /// TES location of hits.
  32. std::string m_hitLocation;
  33. /// Parameters for ToT distribution histograms
  34. Gaudi::Histo1DDef m_parToT;
  35. /// Parameters for charge distribution histograms
  36. Gaudi::Histo1DDef m_parCharge;
  37. /// Parameters for hits / event distribution histograms
  38. Gaudi::Histo1DDef m_parHitsInEvent;
  39. /// Parameters for time difference histograms
  40. Gaudi::Histo1DDef m_parDeltaT;
  41.  
  42. /// Event counter
  43. unsigned int m_nEvents;
  44.  
  45. std::vector<AIDA::IHistogram2D*> m_hHitMap;
  46. std::vector<AIDA::IHistogram1D*> m_hToT;
  47. std::vector<AIDA::IHistogram1D*> m_hCharge;
  48. std::vector<AIDA::IProfile1D*> m_hToTvsCol;
  49. std::vector<AIDA::IProfile1D*> m_hChargevsCol;
  50. std::vector<AIDA::IHistogram1D*> m_hHitsInEvent;
  51. std::vector<AIDA::IHistogram1D*> m_hHitsInEventTrend;
  52. std::vector<AIDA::IHistogram1D*> m_hTimeBetweenHits;
  53. };
  54.  
  55. #endif