- #ifndef TB_HIT_MONITOR_H
- #define TB_HIT_MONITOR_H 1
-
- // AIDA
- #include "AIDA/IHistogram1D.h"
- #include "AIDA/IHistogram2D.h"
- #include "AIDA/IProfile1D.h"
-
- // Tb/TbKernel
- #include "TbKernel/TbAlgorithm.h"
-
- /** @class TbHitMonitor TbHitMonitor.h
- *
- * Algorithm to produce monitoring histograms for Timepix3 pixel hits.
- *
- * @author Tim Evans (timothy.david.evans@cern.ch)
- * @date 2014-04-01
- */
-
- class TbHitMonitor : public TbAlgorithm {
- public:
- /// Standard constructor
- TbHitMonitor(const std::string& name, ISvcLocator* pSvcLocator);
- /// Destructor
- virtual ~TbHitMonitor();
-
- virtual StatusCode initialize(); ///< Algorithm initialization
- virtual StatusCode execute(); ///< Algorithm execution
-
- private:
- /// TES location of hits.
- std::string m_hitLocation;
- /// Parameters for ToT distribution histograms
- Gaudi::Histo1DDef m_parToT;
- /// Parameters for charge distribution histograms
- Gaudi::Histo1DDef m_parCharge;
- /// Parameters for hits / event distribution histograms
- Gaudi::Histo1DDef m_parHitsInEvent;
- /// Parameters for time difference histograms
- Gaudi::Histo1DDef m_parDeltaT;
-
- /// Event counter
- unsigned int m_nEvents;
-
- std::vector<AIDA::IHistogram2D*> m_hHitMap;
- std::vector<AIDA::IHistogram1D*> m_hToT;
- std::vector<AIDA::IHistogram1D*> m_hCharge;
- std::vector<AIDA::IProfile1D*> m_hToTvsCol;
- std::vector<AIDA::IProfile1D*> m_hChargevsCol;
- std::vector<AIDA::IHistogram1D*> m_hHitsInEvent;
- std::vector<AIDA::IHistogram1D*> m_hHitsInEventTrend;
- std::vector<AIDA::IHistogram1D*> m_hTimeBetweenHits;
- };
-
- #endif