- #ifndef TBKALMANTRACK_H
- #define TBKALMANTRACK_H
-
- #include "Event/TbTrack.h"
-
- namespace LHCb {
- class TbKalmanNode;
-
- class TbKalmanTrack : public TbTrack {
- public:
- /// Constructor
- TbKalmanTrack(const LHCb::TbTrack& track, const double hiterror2,
- const double noise2);
- // Destructor
- ~TbKalmanTrack();
-
- // get the nodes
- const std::vector<TbKalmanNode*>& nodes() const { return m_nodes; }
-
- // called by daughter node if something changes
- void resetCache() {}
-
- // fit
- void fit();
-
- // dump some debug info
- void print() const;
-
- // add a node
- void addNode(TbKalmanNode*);
-
- // add a 'reference' node (without a measurement, just to have the state)
- void addReferenceNode(double z);
-
- // deactivate a measurement on the track
- void deactivateCluster(const TbCluster& clus);
-
- private:
- std::vector<TbKalmanNode*> m_nodes;
- };
- }
-
- #endif