#ifndef HKalDafSingleWire_h
#define HKalDafSingleWire_h
#include "TArrayD.h"
class HCategory;
class HMdcTrackGField;
#include "hkalfiltwire.h"
class HKalDafSingleWire : public HKalFiltWire {
private:
Double_t dafChi2Cut;
TArrayD dafT;
Int_t wireNr;
protected:
virtual Bool_t calcEffErrMat (Int_t iSite, Int_t iWire) const;
virtual Bool_t calcEffMeasVec (Int_t iSite, Int_t iWire) const;
virtual Int_t getWireNr () const { return wireNr; }
virtual void setWireNr (Int_t w) { wireNr = w; }
public:
HKalDafSingleWire(Int_t nHits, Int_t measDim, Int_t stateDim, HMdcTrackGField *fMap, Double_t fpol);
virtual ~HKalDafSingleWire() {}
virtual Bool_t fitTrack (const TObjArray &hits, const TVectorD &iniSv,
const TMatrixD &iniCovMat, Int_t pId);
virtual Double_t getDafChi2Cut () const { return dafChi2Cut; }
virtual const Double_t* getDafT () const { return dafT.GetArray(); }
virtual Bool_t getDoDaf () const { return kTRUE; }
virtual TMatrixD const& getHitErrMat (HKalTrackSite* const site) const;
virtual TVectorD const& getHitVec (HKalTrackSite* const site) const;
virtual Int_t getNdafs () const { return dafT.GetSize(); }
virtual Double_t getNdf () const;
virtual void setDafPars (Double_t chi2cut, const Double_t *T, Int_t n);
virtual void updateSites(const TObjArray &hits);
ClassDef(HKalDafSingleWire,0)
};
#endif // HKalDafSingleWire_h