1 #ifndef INCLUDE_MarlinTrkUtils
2 #define INCLUDE_MarlinTrkUtils 1
8 #include <LCIOSTLTypes.h>
12 class TrackStateImpl ;
36 IMarlinTrack* marlinTrk,
37 std::vector<EVENT::TrackerHit*>& hit_list,
38 IMPL::TrackImpl* track,
40 EVENT::TrackState* pre_fit,
42 double maxChi2Increment=DBL_MAX);
48 IMarlinTrack* marlinTrk,
49 std::vector<EVENT::TrackerHit*>& hit_list,
50 IMPL::TrackImpl* track,
52 const EVENT::FloatVec& initial_cov_for_prefit,
54 double maxChi2Increment=DBL_MAX);
57 int createPrefit( std::vector<EVENT::TrackerHit*>& hit_list, IMPL::TrackStateImpl* pre_fit,
float bfield_z,
bool fit_direction );
60 int createFit( std::vector<EVENT::TrackerHit*>& hit_list, IMarlinTrack* marlinTrk, EVENT::TrackState* pre_fit,
float bfield_z,
bool fit_direction,
double maxChi2Increment=DBL_MAX );
68 IMarlinTrack* marlinTrk,
69 IMPL::TrackImpl* track,
70 std::vector<EVENT::TrackerHit*>& hit_list,
72 IMPL::TrackStateImpl* atLastHit=0,
73 IMPL::TrackStateImpl* atCaloFace=0);
76 void addHitNumbersToTrack(IMPL::TrackImpl* track, std::vector<EVENT::TrackerHit*>& hit_list,
bool hits_in_fit, UTIL::BitField64& cellID_encoder);
79 void addHitNumbersToTrack(IMPL::TrackImpl* track, std::vector<std::pair<EVENT::TrackerHit* , double> >& hit_list,
bool hits_in_fit, UTIL::BitField64& cellID_encoder);
int createFit(std::vector< EVENT::TrackerHit * > &hit_list, IMarlinTrack *marlinTrk, EVENT::TrackState *pre_fit, float bfield_z, bool fit_direction, double maxChi2Increment=DBL_MAX)
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied prefit containi...
Definition: MarlinTrkUtils.cc:185
int finaliseLCIOTrack(IMarlinTrack *marlinTrk, IMPL::TrackImpl *track, std::vector< EVENT::TrackerHit * > &hit_list, bool fit_direction, IMPL::TrackStateImpl *atLastHit=0, IMPL::TrackStateImpl *atCaloFace=0)
Takes a fitted MarlinTrack, TrackImpl to record the fit and the hits which have been added to the fit...
Definition: MarlinTrkUtils.cc:400
int createFinalisedLCIOTrack(IMarlinTrack *marlinTrk, std::vector< EVENT::TrackerHit * > &hit_list, IMPL::TrackImpl *track, bool fit_direction, EVENT::TrackState *pre_fit, float bfield_z, double maxChi2Increment=DBL_MAX)
Takes a list of hits and uses the IMarlinTrack inferface to fit them using a supplied prefit containi...
Definition: MarlinTrkUtils.cc:148
void addHitNumbersToTrack(IMPL::TrackImpl *track, std::vector< EVENT::TrackerHit * > &hit_list, bool hits_in_fit, UTIL::BitField64 &cellID_encoder)
Set the subdetector hit numbers for the TrackImpl.
Definition: MarlinTrkUtils.cc:871
int createPrefit(std::vector< EVENT::TrackerHit * > &hit_list, IMPL::TrackStateImpl *pre_fit, float bfield_z, bool fit_direction)
Provides the values of a track state from the first, middle and last hits in the hit_list.
Definition: MarlinTrkUtils.cc:330