//-----------------------------------------------------------------
#include <TMatrixDSym.h>
+#include <TArrayI.h>
#include "AliTrackFitter.h"
#include "AliTrackPointArray.h"
+#include "AliLog.h"
ClassImp(AliTrackFitter)
for (Int_t i=0;i<6;i++) fParams[i] = 0;
fCov = 0;
fPoints = 0;
+ fPVolId = fPTrack = 0;
+ fChi2 = 0;
+ fNdf = 0;
+ fMinNPoints = 0;
fIsOwner = kFALSE;
}
//
for (Int_t i=0;i<6;i++) fParams[i] = 0;
fCov = new TMatrixDSym(6);
+ fPVolId = fPTrack = 0;
+ fChi2 = 0;
+ fNdf = 0;
+ fMinNPoints = 0;
fIsOwner = kFALSE;
SetTrackPointArray(array,owner);
}
{
// Copy constructor
//
+ SetTrackPointArray(fitter.fPoints,fitter.fIsOwner);
for (Int_t i=0;i<6;i++) fParams[i] = fitter.fParams[i];
fCov = new TMatrixDSym(*fitter.fCov);
+ fChi2 = fitter.fChi2;
+ fNdf = fitter.fNdf;
+ fMinNPoints = fitter.fMinNPoints;
fIsOwner = kFALSE;
- SetTrackPointArray(fitter.fPoints,fitter.fIsOwner);
}
//_____________________________________________________________________________
//
if(this==&fitter) return *this;
+ SetTrackPointArray(fitter.fPoints);
for (Int_t i=0;i<6;i++) fParams[i] = fitter.fParams[i];
fCov = new TMatrixDSym(*fitter.fCov);
+ fChi2 = fitter.fChi2;
+ fNdf = fitter.fNdf;
+ fMinNPoints = fitter.fMinNPoints;
fIsOwner = kFALSE;
- SetTrackPointArray(fitter.fPoints);
return *this;
}
for (Int_t i=0;i<6;i++) fParams[i] = 0;
delete fCov;
fCov = new TMatrixDSym(6);
+ fPVolId = fPTrack = 0;
+ fChi2 = 0;
+ fNdf = 0;
}
void AliTrackFitter::SetTrackPointArray(AliTrackPointArray *array, Bool_t owner)
// Load space points from array
// By default we don't copy them but
// just put the pointers to them
+ if (!array) {
+ AliWarning("Invalid pointer to the space-points array !");
+ if (fIsOwner) delete fPoints;
+ fPoints = NULL;
+ return;
+ }
+
Reset();
if (fIsOwner) delete fPoints;
fIsOwner = kFALSE;
}
}
+
+Bool_t AliTrackFitter::FindVolId(const TArrayI *array, UShort_t volid) const
+{
+ // The method is used to check whenever
+ // the volume id (volid) is contained in
+ // a array of integers
+ Int_t nVolIds = array->GetSize();
+ if (nVolIds == 0) return kFALSE;
+
+ Bool_t found = kFALSE;
+ for (Int_t iVolId = 0; iVolId < nVolIds; iVolId++) {
+ if ((*array)[iVolId] == volid) {
+ found = kTRUE;
+ break;
+ }
+ }
+
+ return found;
+}