00001 #ifndef StiHitErrorCalculator_h
00002 #define StiHitErrorCalculator_h
00003
00004 #include "TChair.h"
00005 #include "tables/St_HitError_Table.h"
00006 #include "Sti/StiNodePars.h"
00007
00008 class StiHitErrorCalculator : public TChair {
00009 public:
00010 HitError_st *Struct(Int_t i = 0) {return ((St_HitError*) Table())->GetTable()+i;}
00011 UInt_t getNumRows() {return GetNRows();}
00012 Double_t* coeff(Int_t i = 0) {return Struct(i)->coeff;}
00013 virtual void calculateError(Double_t _z, Double_t _eta, Double_t _tanl, Double_t &ecross, Double_t &edip) const;
00014 virtual void calculateError(const StiNodePars *pars,Double_t &ecross,Double_t &edip) const {
00015 calculateError(pars->z(), pars->eta(), pars->tanl(), ecross, edip);
00016 }
00017 protected:
00018 StiHitErrorCalculator(St_HitError *table=0) : TChair(table) {}
00019 virtual ~StiHitErrorCalculator() {}
00020 private:
00021 ClassDefineChair(StiHitErrorCalculator,St_HitError, HitError_st )
00022 ClassDef(StiHitErrorCalculator,1)
00023 };
00024 #endif