AliStrLine(Float_t *pointf, Float_t *cdf, Bool_t twopoints=kFALSE);
AliStrLine(Double_t *point, Double_t *sig2point, Double_t *cd, Bool_t twopoints=kFALSE);
AliStrLine(Float_t *pointf, Float_t *sig2point, Float_t *cdf, Bool_t twopoints=kFALSE);
+ AliStrLine(Double_t *point, Double_t *sig2point, Double_t *wmat, Double_t *cd, Bool_t twopoints=kFALSE);
+ AliStrLine(Float_t *pointf, Float_t *sig2point, Float_t *wmat, Float_t *cdf, Bool_t twopoints=kFALSE);
virtual ~AliStrLine(); // destructor
void PrintStatus() const;
void SetP0(Double_t *point) {for(Int_t i=0;i<3;i++)fP0[i]=point[i];}
void SetSigma2P0(Double_t *sigsq) {for(Int_t i=0;i<3;i++)fSigma2P0[i]=sigsq[i];}
+ void SetWMatrix(Double_t *wmat) {for(Int_t i=0;i<9;i++)fWMatrix[i]=wmat[i];}
void SetCd(Double_t *cd) {for(Int_t i=0;i<3;i++)fCd[i]=cd[i];}
void SetDebug(Int_t dbfl = 0){fDebug = dbfl; }
void GetP0(Double_t *point) const {for(Int_t i=0;i<3;i++)point[i]=fP0[i];}
void GetSigma2P0(Double_t *sigsq) const {for(Int_t i=0;i<3;i++)sigsq[i]=fSigma2P0[i];}
+ void GetWMatrix(Double_t *wmat) const {for(Int_t i=0;i<9;i++)wmat[i]=fWMatrix[i];}
void GetCd(Double_t *cd) const {for(Int_t i=0;i<3;i++)cd[i]=fCd[i];}
void GetCurrentPoint(Double_t *point) const;
Int_t IsParallelTo(AliStrLine *line) const;
void InitTwoPoints(Double_t *pA, Double_t *pB);
Double_t fP0[3]; // given point
Double_t fSigma2P0[3]; // errors on coordinates of given point
+ Double_t fWMatrix[9]; // weighting matrix
Double_t fCd[3]; // direction cosines
Double_t fTpar; //! parameter
Int_t fDebug; //! debug flag - verbose printing if >0
private:
void SetPar(Double_t par){fTpar = par;}
- ClassDef(AliStrLine,2);
+ ClassDef(AliStrLine,3);
};
#endif