X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliStrLine.cxx;h=d551919fd8852d5c61c4eed73abb0b99d0224eee;hb=0e476b0e1dfbbcfd1978350c011c6ee7b0d19048;hp=0e96d22879fafc7b3fb7fdbc1ed9874dd809f625;hpb=090026bf446a3ebd918092c667eaf1d4c5133105;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliStrLine.cxx b/STEER/AliStrLine.cxx index 0e96d22879f..d551919fd88 100644 --- a/STEER/AliStrLine.cxx +++ b/STEER/AliStrLine.cxx @@ -39,8 +39,10 @@ AliStrLine::AliStrLine() : // Default constructor for(Int_t i=0;i<3;i++) { fP0[i] = 0.; + fSigma2P0[i] = 0.; fCd[i] = 0.; } + for(Int_t i=0;i<9;i++) fWMatrix[i] = 0.; } //________________________________________________________ @@ -55,6 +57,10 @@ AliStrLine::AliStrLine(Double_t *point, Double_t *cd,Bool_t twopoints) : // if twopoint is false: point represents the 3D coordinates of a point // belonging to the straight line and cd is the // direction in space + for(Int_t i=0;i<3;i++){ + fSigma2P0[i] = 0.; + } + for(Int_t i=0;i<9;i++) fWMatrix[i] = 0.; if(twopoints){ InitTwoPoints(point,cd); } @@ -80,7 +86,84 @@ AliStrLine::AliStrLine(Float_t *pointf, Float_t *cdf,Bool_t twopoints) : for(Int_t i=0;i<3;i++){ point[i] = pointf[i]; cd[i] = cdf[i]; + fSigma2P0[i] = 0.; + } + for(Int_t i=0;i<9;i++) fWMatrix[i] = 0.; + if(twopoints){ + InitTwoPoints(point,cd); + } + else { + InitDirection(point,cd); + } +} + +//________________________________________________________ +AliStrLine::AliStrLine(Double_t *point, Double_t *sig2point, Double_t *cd,Bool_t twopoints) : + TObject(), + fTpar(0), + fDebug(0) +{ + // Standard constructor + // if twopoints is true: point and cd are the 3D coordinates of + // two points defininig the straight line + // if twopoint is false: point represents the 3D coordinates of a point + // belonging to the straight line and cd is the + // direction in space + for(Int_t i=0;i<3;i++){ + fSigma2P0[i] = sig2point[i]; + } + for(Int_t i=0;i<9;i++) fWMatrix[i] = 0.; + if(twopoints){ + InitTwoPoints(point,cd); + } + else { + InitDirection(point,cd); + } +} + +//________________________________________________________ +AliStrLine::AliStrLine(Float_t *pointf, Float_t *sig2point, Float_t *cdf,Bool_t twopoints) : + TObject(), + fTpar(0), + fDebug(0) +{ + // Standard constructor - with float arguments + // if twopoints is true: point and cd are the 3D coordinates of + // two points defininig the straight line + // if twopoint is false: point represents the 3D coordinates of a point + // belonging to the straight line and cd is the + // direction in space + Double_t point[3]; + Double_t cd[3]; + for(Int_t i=0;i<3;i++){ + point[i] = pointf[i]; + cd[i] = cdf[i]; + fSigma2P0[i] = sig2point[i]; } + for(Int_t i=0;i<9;i++) fWMatrix[i] = 0.; + if(twopoints){ + InitTwoPoints(point,cd); + } + else { + InitDirection(point,cd); + } +} +//________________________________________________________ +AliStrLine::AliStrLine(Double_t *point, Double_t *sig2point, Double_t *wmat, Double_t *cd,Bool_t twopoints) : + TObject(), + fTpar(0), + fDebug(0) +{ + // Standard constructor + // if twopoints is true: point and cd are the 3D coordinates of + // two points defininig the straight line + // if twopoint is false: point represents the 3D coordinates of a point + // belonging to the straight line and cd is the + // direction in space + for(Int_t i=0;i<3;i++){ + fSigma2P0[i] = sig2point[i]; + } + for(Int_t i=0;i<9;i++) fWMatrix[i] = wmat[i]; if(twopoints){ InitTwoPoints(point,cd); } @@ -89,6 +172,33 @@ AliStrLine::AliStrLine(Float_t *pointf, Float_t *cdf,Bool_t twopoints) : } } +//________________________________________________________ +AliStrLine::AliStrLine(Float_t *pointf, Float_t *sig2point, Float_t *wmat, Float_t *cdf,Bool_t twopoints) : + TObject(), + fTpar(0), + fDebug(0) +{ + // Standard constructor - with float arguments + // if twopoints is true: point and cd are the 3D coordinates of + // two points defininig the straight line + // if twopoint is false: point represents the 3D coordinates of a point + // belonging to the straight line and cd is the + // direction in space + Double_t point[3]; + Double_t cd[3]; + for(Int_t i=0;i<3;i++){ + point[i] = pointf[i]; + cd[i] = cdf[i]; + fSigma2P0[i] = sig2point[i]; + } + for(Int_t i=0;i<9;i++) fWMatrix[i] = wmat[i]; + if(twopoints){ + InitTwoPoints(point,cd); + } + else { + InitDirection(point,cd); + } +} //________________________________________________________ void AliStrLine::InitDirection(Double_t *point, Double_t *cd){ // Initialization from a point and a direction @@ -131,6 +241,9 @@ void AliStrLine::PrintStatus() const { cout <<"Known point: "; for(Int_t i=0;i<3;i++)cout <