- #ifndef TBTRACKFIT_H
- #define TBTRACKFIT_H 1
-
- // Gaudi
- #include "GaudiAlg/GaudiTool.h"
-
- // Tb/TbKernel
- #include "TbKernel/ITbTrackFit.h"
- #include "TbKernel/ITbGeometrySvc.h"
-
- /** @class TbTrackFit TbTrackFit.h
- * Implementation of track fit for Timepix3 testbeam analysis
- *
- * @author Panagiotis Tsopelas
- * @date 2014-05-06
- *
- */
-
- class TbTrackFit : public GaudiTool, virtual public ITbTrackFit {
-
- public:
- /// Constructor
- TbTrackFit(const std::string& type, const std::string& name,
- const IInterface* parent);
- /// Destructor
- virtual ~TbTrackFit();
-
- virtual StatusCode initialize();
-
- /// Fit the track and set its firstState
- virtual void fit(LHCb::TbTrack* track);
-
- virtual void maskPlane(const unsigned int plane);
- virtual void unmaskPlane(const unsigned int plane);
-
- protected:
- /// Indices of planes to be masked.
- std::vector<unsigned int> m_maskedPlanes;
- /// Flags whether a plane is masked or not.
- std::vector<bool> m_masked;
-
- /// Pointer to geometry service
- mutable ITbGeometrySvc* m_geomSvc;
- /// Access geometry service on-demand
- ITbGeometrySvc* geomSvc() const {
- if (!m_geomSvc) m_geomSvc = svc<ITbGeometrySvc>("TbGeometrySvc", true);
- return m_geomSvc;
- }
- };
-
- #endif