MarlinTrk  2.2.0
MarlinTrkUtils.h
1 #ifndef INCLUDE_MarlinTrkUtils
2 #define INCLUDE_MarlinTrkUtils 1
3 
4 #include <vector>
5 
6 #include <cfloat>
7 
8 #include <LCIOSTLTypes.h>
9 
10 namespace IMPL {
11  class TrackImpl ;
12  class TrackStateImpl ;
13 }
14 
15 namespace EVENT {
16  class TrackerHit;
17  class TrackState;
18 }
19 
20 namespace UTIL {
21  class BitField64;
22 }
23 
24 
25 namespace MarlinTrk{
26  class IMarlinTrack ;
27 }
28 
29 
30 namespace MarlinTrk{
31 
36  IMarlinTrack* marlinTrk,
37  std::vector<EVENT::TrackerHit*>& hit_list,
38  IMPL::TrackImpl* track,
39  bool fit_direction,
40  EVENT::TrackState* pre_fit,
41  float bfield_z,
42  double maxChi2Increment=DBL_MAX);
43 
48  IMarlinTrack* marlinTrk,
49  std::vector<EVENT::TrackerHit*>& hit_list,
50  IMPL::TrackImpl* track,
51  bool fit_direction,
52  const EVENT::FloatVec& initial_cov_for_prefit,
53  float bfield_z,
54  double maxChi2Increment=DBL_MAX);
55 
57  int createPrefit( std::vector<EVENT::TrackerHit*>& hit_list, IMPL::TrackStateImpl* pre_fit, float bfield_z, bool fit_direction );
58 
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 );
61 
68  IMarlinTrack* marlinTrk,
69  IMPL::TrackImpl* track,
70  std::vector<EVENT::TrackerHit*>& hit_list,
71  bool fit_direction,
72  IMPL::TrackStateImpl* atLastHit=0,
73  IMPL::TrackStateImpl* atCaloFace=0);
74 
76  void addHitNumbersToTrack(IMPL::TrackImpl* track, std::vector<EVENT::TrackerHit*>& hit_list, bool hits_in_fit, UTIL::BitField64& cellID_encoder);
77 
79  void addHitNumbersToTrack(IMPL::TrackImpl* track, std::vector<std::pair<EVENT::TrackerHit* , double> >& hit_list, bool hits_in_fit, UTIL::BitField64& cellID_encoder);
80 
81 }
82 
83 #endif
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