00001 00002 // $Id: CandFitTrack.h,v 1.18 2007/10/13 22:52:44 musser Exp $ 00003 // 00004 // CandFitTrack 00005 // 00006 // CandFitTrack is a concrete base class. 00007 // 00008 // Author: R. Lee 2001.03.30 00010 00011 #ifndef CANDFITTRACK_H 00012 #define CANDFITTRACK_H 00013 00014 #include "RecoBase/CandTrack.h" 00015 00016 class AlgHandle; 00017 class CandContext; 00018 class CandTrackHandle; 00019 class CandFitTrackHandle; 00020 00021 class CandFitTrack : public CandTrack 00022 { 00023 friend class CandFitTrackHandle; 00024 00025 public: 00026 static CandFitTrackHandle MakeCandidate(AlgHandle &ah, 00027 CandContext &cx); 00028 CandFitTrack(); 00029 00030 virtual std::ostream& FormatToOStream(std::ostream& os, 00031 Option_t *option="") const; 00032 00033 protected: 00034 CandFitTrack(AlgHandle &ah); 00035 CandFitTrack(AlgHandle &ah, CandHandle &ch, CandContext &cx); 00036 CandFitTrack(const CandFitTrack &rhs); 00037 virtual ~CandFitTrack(); 00038 virtual void CreateLocalHandle(); 00039 virtual CandFitTrack *Dup() const; 00040 virtual Bool_t IsEquivalent(const TObject *rhs) const; 00041 00042 Double_t fEMCharge; // in units of positron charge 00043 Double_t fChi2; 00044 Double_t fMomentumCurve; 00045 Double_t fMomentumRange; 00046 Bool_t fPass; // = 1 if successfully fit 00047 Double_t fBave; 00048 Int_t fNDOF; 00049 Double_t fCPUTime; // time spent to create this candidate 00050 Double_t fVtxQPError; 00051 Int_t fNIterate; 00052 Double_t fVtxUError; 00053 Double_t fVtxVError; 00054 Double_t fVtxdUError; 00055 Double_t fVtxdVError; 00056 00057 Double_t fEndQP; 00058 Double_t fEndQPError; 00059 Double_t fEndUError; 00060 Double_t fEndVError; 00061 Double_t fEnddUError; 00062 Double_t fEnddVError; 00063 Int_t fNSwimFail; 00064 00065 mutable map<Int_t,Float_t> fPlaneQP; // filtered q/p at this plane 00066 mutable map<Int_t,Float_t> fPlaneChi2; // filtered chi2 at this pln 00067 00068 CandTrackHandle * fFinderTrack; 00069 00070 ClassDef(CandFitTrack,8) 00071 }; 00072 00073 #endif // CANDFITTRACK_H
1.3.9.1