X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=STEER%2FAliTrackFitterStraight.cxx;h=cc04b8236c6a22e97c65092cf0b0c96b002dd79c;hb=4c85573c14b4681da5a7680a41f96176be008680;hp=a92b014a6f552f68be3722c7eb8b10cd67c187a5;hpb=c041444f8fe020ca40720f8cedada58419cff7dc;p=u%2Fmrichter%2FAliRoot.git diff --git a/STEER/AliTrackFitterStraight.cxx b/STEER/AliTrackFitterStraight.cxx index a92b014a6f5..cc04b8236c6 100644 --- a/STEER/AliTrackFitterStraight.cxx +++ b/STEER/AliTrackFitterStraight.cxx @@ -1,53 +1,72 @@ -#include "TMatrixDSym.h" -#include "TMatrixD.h" +/************************************************************************** + * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * + * * + * Author: The ALICE Off-line Project. * + * Contributors are mentioned in the code where appropriate. * + * * + * Permission to use, copy, modify and distribute this software and its * + * documentation strictly for non-commercial purposes is hereby granted * + * without fee, provided that the above copyright notice appears in all * + * copies and that both the copyright notice and this permission notice * + * appear in the supporting documentation. The authors make no claims * + * about the suitability of this software for any purpose. It is * + * provided "as is" without express or implied warranty. * + **************************************************************************/ + +/* $Id$ */ + +#include +#include +#include + #include "AliTrackFitterStraight.h" ClassImp(AliTrackFitterStraight) AliTrackFitterStraight::AliTrackFitterStraight(): - AliTrackFitter() + AliTrackFitter(), + fAlpha(0.), + fSumYY(0), + fSumZZ(0), + fNUsed(0), + fConv(kFALSE) { // // default constructor // - fAlpha = 0.; for (Int_t i=0;i<5;i++) fSumXY[i] = 0; - fSumYY = 0; for (Int_t i=0;i<5;i++) fSumXZ[i] = 0; - fSumZZ = 0; - fNUsed = 0; - fConv = kFALSE; } AliTrackFitterStraight::AliTrackFitterStraight(AliTrackPointArray *array, Bool_t owner): - AliTrackFitter(array,owner) + AliTrackFitter(array,owner), + fAlpha(0.), + fSumYY(0), + fSumZZ(0), + fNUsed(0), + fConv(kFALSE) { // // Constructor // - fAlpha = 0.; for (Int_t i=0;i<5;i++) fSumXY[i] = 0; - fSumYY = 0; for (Int_t i=0;i<5;i++) fSumXZ[i] = 0; - fSumZZ = 0; - fNUsed = 0; - fConv = kFALSE; } AliTrackFitterStraight::AliTrackFitterStraight(const AliTrackFitterStraight &fitter): - AliTrackFitter(fitter) + AliTrackFitter(fitter), + fAlpha(fitter.fAlpha), + fSumYY(fitter.fSumYY), + fSumZZ(fitter.fSumZZ), + fNUsed(fitter.fNUsed), + fConv(fitter.fConv) { // // copy constructor // - fAlpha = fitter.fAlpha; for (Int_t i=0;i<5;i++) fSumXY[i] = fitter.fSumXY[i]; - fSumYY = fitter.fSumYY; for (Int_t i=0;i<5;i++) fSumXZ[i] = fitter.fSumXZ[i]; - fSumZZ = fitter.fSumZZ; - fNUsed = fitter.fNUsed; - fConv = fitter.fConv; } //_____________________________________________________________________________ @@ -90,8 +109,8 @@ void AliTrackFitterStraight::Reset() } Bool_t AliTrackFitterStraight::Fit(const TArrayI *volIds,const TArrayI *volIdsFit, - AliAlignObj::ELayerID layerRangeMin, - AliAlignObj::ELayerID layerRangeMax) + AliGeomManager::ELayerID layerRangeMin, + AliGeomManager::ELayerID layerRangeMax) { // Fit the track points. The method takes as an input // the set of id's (volids) of the volumes in which @@ -133,9 +152,9 @@ Bool_t AliTrackFitterStraight::Fit(const TArrayI *volIds,const TArrayI *volIdsFi if (!FindVolId(volIdsFit,iVolId)) continue; } else { - if (iVolId < AliAlignObj::LayerToVolUID(layerRangeMin,0) || - iVolId > AliAlignObj::LayerToVolUID(layerRangeMax, - AliAlignObj::LayerSize(layerRangeMax))) continue; + if (iVolId < AliGeomManager::LayerToVolUID(layerRangeMin,0) || + iVolId > AliGeomManager::LayerToVolUID(layerRangeMax, + AliGeomManager::LayerSize(layerRangeMax))) continue; } if (!isAlphaCalc) { fAlpha = p.GetAngle(); @@ -209,7 +228,7 @@ void AliTrackFitterStraight::AddPoint(Float_t x, Float_t y, Float_t z, Float_t s fSumZZ += z*z*weight; } -void AliTrackFitterStraight::Update(){ +Bool_t AliTrackFitterStraight::Update(){ // // Track fitter update // @@ -224,7 +243,7 @@ void AliTrackFitterStraight::Update(){ TMatrixDSym smatrix(2); TMatrixD sums(1,2); smatrix(0,0) = fSumXY[0]; smatrix(1,1)=fSumXY[2]; - smatrix(0,1) = fSumXY[1]; + smatrix(0,1) = fSumXY[1]; smatrix(1,0)=fSumXY[1]; sums(0,0) = fSumXY[3]; sums(0,1) =fSumXY[4]; smatrix.Invert(); if (smatrix.IsValid()){ @@ -246,7 +265,7 @@ void AliTrackFitterStraight::Update(){ TMatrixDSym smatrixz(2); TMatrixD sumsxz(1,2); smatrixz(0,0) = fSumXZ[0]; smatrixz(1,1) = fSumXZ[2]; - smatrixz(0,1) = fSumXZ[1]; + smatrixz(0,1) = fSumXZ[1]; smatrixz(1,0) = fSumXZ[1]; sumsxz(0,0) = fSumXZ[3]; sumsxz(0,1) = fSumXZ[4]; smatrixz.Invert(); if (smatrixz.IsValid()){ @@ -268,6 +287,8 @@ void AliTrackFitterStraight::Update(){ fConv =kTRUE; else fConv=kFALSE; + + return kTRUE; } Double_t AliTrackFitterStraight::GetYat(Double_t x) const {