// $Id$ // // File: DTrackFitterALT1.h // Created: Tue Sep 2 11:18:22 EDT 2008 // Creator: davidl // #ifndef _DTrackFitterALT1_ #define _DTrackFitterALT1_ #include #include #include #include #include #include #include #include "HDGEOMETRY/DMagneticFieldMap.h" #include "DTrack.h" #include "DReferenceTrajectory.h" #include "DCoordinateSystem.h" #include "DTrackFitter.h" class DTrackCandidate; class DTrack; class DCDCTrackHit; class DFDCPseudo; class DMCThrown; class DTrackFitterALT1:public DTrackFitter{ public: DTrackFitterALT1(JEventLoop *loop); ~DTrackFitterALT1(); typedef DReferenceTrajectory::swim_step_t swim_step_t; // Virtual methods from TrackFitter base class string Name(void) const {return string("ALT1");} fit_status_t FitTrack(void); private: enum state_types{ state_px, ///< x-momentum in RT coordinate system in GeV/c state_py, ///< y-momentum in RT coordinate system in GeV/c state_pz, ///< z-momentum in RT coordinate system in GeV/c state_x, ///< x-coordinate in RT coordinate system in cm state_v, ///< position-coordinate in RT coordinate system in cm perpendicular to x both and momentum direction }; class hitInfo{ public: vector wires; // Wire definitions vector shifts; // Effective wire shifts due to drift time vector errs; // Errors on drift time (or wire position) measurement vector u_dists; // Distances along the wire (for FDC cathodes) vector u_errs; // Errors on distance along the wire (for FDC cathodes) vector all_errs; // Merging of errs and u_errs so elements correspond to those in chisqv void PrintDebug(void){_DBG_<<"sizes: wires="<