Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

FitContext.h

Go to the documentation of this file.
00001 #ifndef FITCONTEXT_H_
00002 #define FITCONTEXT_H_
00003 //_____________________________________________________________________________
00012 
00013 #include "TVectorD.h"
00014 
00015 #include "CandFitTrackSA/ConvergenceMaster.h"
00016 #include "CandFitTrackSA/DataFT.h"
00017 #include "CandFitTrackSA/FitResult.h"
00018 #include "CandFitTrackSA/MatrixCalculator.h"
00019 
00020 class AlgConfig;
00021 class FitState;
00022 class NtpFitSA;
00023 class TrackEstimator;
00024 
00025 class FitContext {
00026 
00027 public:
00028     FitContext( const AlgConfig& algcfg,    const TrackContext& context, 
00029                 TrackEstimator* estimator,  SwimSwimmer* swimmer         );
00030     ~FitContext();
00031     
00035     void        Iterate();
00036     
00040     void        Print();
00041     void        PrintCurrentFit();
00042     
00046     void        Config(const AlgConfig& ac);
00047     
00048     FitState*   GetState() const;
00049     void        SetState(const FitState* state);
00050 
00051     void        SetFitParams(const TVectorD& fit);
00052     void        SetLastGoodFitParams(const TVectorD& fit); 
00053     
00054     void        SetFromLastGoodFit(); 
00055     
00056     Float_t     GetPrange() { return fTrackContext.GetPrange(); };
00057     
00058     NtpFitSA    MakeNtpFitSA() const;        
00059     
00060     void        FillNtpFitSA(NtpFitSA& ntp) const;   
00061     void        FillNtpPlaneInfo(NtpFitSA& ntp) const;
00062     void        FillNtpBFieldCalib(NtpFitSA& ntp) const;
00063     void        FillNtpFitSR(NtpFitSA& ntp) const;
00064 
00065     const DataFT*   GetData() const { return &fData; };
00066     
00067     Double_t    GetCpu() const { return fCpu; };
00068     void        SetCpu(Double_t cpu) { fCpu = cpu; };
00069     
00070 //private:
00071 
00075     const TrackContext&   fTrackContext;
00076     
00080     const FitState*       fState;
00081     
00085     SwimSwimmer*          fSwimmer;
00086     
00090     TrackEstimator*       fEstimator;
00091     
00095     DataFT          fData;
00096     
00100     ConvergenceMaster fConvergenceMaster;
00101     
00105     MatrixCalculator fMatCalc;
00106     
00107     Int_t           fNIterationsStep;
00108     Int_t           fNIterationsTotal;
00109     
00110     //Int_t          fNPlanesToFit;
00111     Int_t           fNPlanesFit;
00112          
00113     TVectorD        fCurrentFit;
00114 
00115     Int_t           fTimesConverged;
00116         
00117     FitResult       fLastGoodFit;
00118 
00119     Double_t        fDChi2;
00120     
00121     Int_t           fNTriesDiverges;
00122     
00123     Int_t           fNHitsInViewMin;
00124     
00125     Int_t           fNMaxIterations;
00126     
00127     Int_t           fNMaxDiverging;
00128     
00129     Double_t        fConvergenceCond;
00130     
00131     Double_t        fCpu;
00132 };
00133 
00134 #endif // FITCONTEXT_H_

Generated on Mon Feb 15 11:06:43 2010 for loon by  doxygen 1.3.9.1