MarlinTrk  02.08
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
IMarlinTrack.cc
Go to the documentation of this file.
1 
3 #include <sstream>
4 #include "UTIL/Operators.h"
5 
6 namespace MarlinTrk{
7 
8  const bool IMarlinTrack::backward = false ;
10 
11  const int IMarlinTrack::modeBackward = - 1 ;
12  const int IMarlinTrack::modeClosest = 0 ;
13  const int IMarlinTrack::modeForward = + 1 ;
14 
15 
16  const int IMarlinTrack::success = 0 ; // no error
17  const int IMarlinTrack::error = 1 ;
18  const int IMarlinTrack::bad_intputs = 3 ;
19  const int IMarlinTrack::no_intersection = 4 ; // no intersection found
20  const int IMarlinTrack::site_discarded = 5 ; // measurement discarded by the fitter
21  const int IMarlinTrack::site_fails_chi2_cut = 6 ; // measurement discarded by the fitter due to chi2 cut
22  const int IMarlinTrack::all_sites_fail_fit = 7 ; // no single measurement added to the fit
23 
24 
26  std::string errorCode( int error ){
27 
28  switch ( error ){
29  case IMarlinTrack::success : return "IMarlinTrack::success"; break;
30  case IMarlinTrack::error : return "IMarlinTrack::error"; break;
31  case IMarlinTrack::bad_intputs : return "IMarlinTrack::bad_intputs"; break;
32  case IMarlinTrack::no_intersection : return "IMarlinTrack::no_intersection"; break;
33  case IMarlinTrack::site_discarded : return "IMarlinTrack::site_discarded"; break;
34  case IMarlinTrack::site_fails_chi2_cut : return "IMarlinTrack::site_fails_chi2_cut"; break;
35  case IMarlinTrack::all_sites_fail_fit : return "IMarlinTrack::all_sites_fail_fit"; break;
36  default: return "UNKNOWN" ;
37  }
38  }
39 
41 
42  std::stringstream str ;
43 
44  int ndf ;
45  double chi2 ;
48  EVENT::TrackerHit* lcHit ;
49 
51 
52  getHitsInFit( hits ) ;
53 
54  getTrackState( ts, chi2, ndf ) ;
55 
56  str << " ------------------- MarlinDDKalTestTrack: ------------------------ " << std::endl ;
57 
58  str << " ndf: " << ndf << std::endl
59  << " chi2: " << chi2 << std::endl
60  << " number of hits in fit : " << hits.size() << std::endl
61  << " last constraned hit id : " << ( lcHit ? lcHit->id() : -9999 ) << std::endl ;
62 
63  for( unsigned i=0,n= hits.size() ; i<n ; ++i ){
64 
65  str << " hit at index: " << i << " " << UTIL::toString( hits[i].first ) << std::endl
66  << " track state : " << UTIL::toString( &ts ) << std::endl ;
67  }
68 
69  str << " --------------------- " << std::endl ;
70  str << " current track state :" << UTIL::toString( &ts ) << std::endl ;
71  str << " --------------------- " << std::endl ;
72 
73  return str.str() ;
74  }
75 }
std::string toString(const T *obj)
virtual int getTrackState(IMPL::TrackStateImpl &ts, double &chi2, int &ndf)=0
get track state, returning TrackState, chi2 and ndf via reference
static const bool backward
boolean constant for defining backward direction - to be used for intitialise
Definition: IMarlinTrack.h:41
T endl(T...args)
static const bool forward
boolean constant for defining backward direction - to be used for intitialise
Definition: IMarlinTrack.h:44
virtual std::string toString()
Dump this track to a string for debugging - implementation dependant.
Definition: IMarlinTrack.cc:40
static const int modeClosest
Definition: IMarlinTrack.h:49
static const int bad_intputs
Definition: IMarlinTrack.h:55
STL class.
virtual int getTrackerHitAtPositiveNDF(EVENT::TrackerHit *&trkhit)=0
get TrackeHit at which fit became constrained, i.e.
static const int all_sites_fail_fit
Definition: IMarlinTrack.h:59
T str(T...args)
static const int site_discarded
Definition: IMarlinTrack.h:57
virtual int getHitsInFit(std::vector< std::pair< EVENT::TrackerHit *, double > > &hits)=0
get the list of hits included in the fit, together with the chi2 contributions of the hits...
static const int success
Definition: IMarlinTrack.h:53
static const int no_intersection
Definition: IMarlinTrack.h:56
T size(T...args)
STL class.
static const int modeBackward
Definition: IMarlinTrack.h:48
std::string errorCode(int error)
Helper function to convert error return code to string.
Definition: IMarlinTrack.cc:26
static const int site_fails_chi2_cut
Definition: IMarlinTrack.h:58
static const int modeForward
Definition: IMarlinTrack.h:50
static const int error
Definition: IMarlinTrack.h:54