#include <FitStateInitial.h>
Inheritance diagram for FitStateInitial:

Public Member Functions | |
| void | Iterate (FitContext &context) const |
| const std::string & | Name () const |
Definition at line 14 of file FitStateInitial.h.
|
|
Iterate Implements FitState. Definition at line 48 of file FitStateInitial.cxx. References TrackEstimator::EstimateTrackParams(), FitContext::fConvergenceMaster, FitContext::fCurrentFit, FitContext::fData, FitContext::fEstimator, FitContext::fMatCalc, FitContext::fNPlanesFit, FitContext::fSwimmer, ConvergenceMaster::GetMaskUCur(), ConvergenceMaster::GetMaskVCur(), ConvergenceMaster::GetNPlanesCur(), ConvergenceMaster::GetNPlanesMin(), MatrixCalculator::GetTrackOut(), MSG, FitContext::Print(), DataFT::SetInitial(), FitContext::SetLastGoodFitParams(), FitContext::SetState(), DataFT::SetUHitUse(), DataFT::SetVHitUse(), and MatrixCalculator::Solve(). 00049 {
00050 // apply the maximum mask that still leaves
00051 // enough hits ( > fNHitsInViewMin ) to fit in
00052 // both U and V
00053 context.fData.SetUHitUse( context.fConvergenceMaster.GetMaskUCur() );
00054 context.fData.SetVHitUse( context.fConvergenceMaster.GetMaskVCur() );
00055
00056 // get an inital rough estimate of the track parameters
00057 context.fCurrentFit = context.fEstimator->EstimateTrackParams(context);
00058
00059 //
00060 context.SetLastGoodFitParams(context.fCurrentFit);
00061
00062 // set initial number of planes to fit
00063 // context.fNPlanesToFit = context.fConvergenceMaster.GetNPlanesCur();
00064
00065 // set input track parameters
00066 context.fNPlanesFit = context.fData.SetInitial(context.fCurrentFit,
00067 context.fConvergenceMaster.GetNPlanesCur(), *context.fSwimmer);
00068 //context.fNPlanesToFit, *context.fSwimmer);
00069
00070 // bad failure - stop iterations
00071 if ( context.fNPlanesFit < context.fConvergenceMaster.GetNPlanesMin() ){
00072 context.SetState(FitStateFactory::Instance().GetFitState("Final"));
00073 context.Print();
00074 MSG("FitTrackSA",Msg::kInfo) << "Switched from Initial to Final\n";
00075 return;
00076 }
00077
00078 // perform iteration
00079 context.fMatCalc.Solve(context.fData);
00080 context.fCurrentFit = context.fMatCalc.GetTrackOut();
00081
00082 //context.SetLastGoodFitParams(context.fCurrentFit);
00083 //context.fLastGoodFit.SetNPlanes(context.fNPlanesFit);
00084
00085 context.SetState(FitStateFactory::Instance().GetFitState("Iterating"));
00086 context.Print();
00087 MSG("FitTrackSA",Msg::kInfo) << "Switched from Initial to Iterating\n";
00088 return;
00089
00090 }
|
|
|
Name() - return name of the state Implements FitState. Definition at line 42 of file FitStateInitial.cxx. 00043 {
00044 return INITIAL_FIT_STATE;
00045 }
|
1.3.9.1