//-----------------------------------------------------------------
#include <TMatrixDSym.h>
+#include <TArrayI.h>
#include "AliTrackFitter.h"
#include "AliTrackPointArray.h"
+#include "AliLog.h"
ClassImp(AliTrackFitter)
//_____________________________________________________________________________
-AliTrackFitter::AliTrackFitter()
+AliTrackFitter::AliTrackFitter() :
+ TObject(),
+ fCov(0),
+ fPoints(0),
+ fPVolId(0),
+ fPTrack(0),
+ fChi2(0),
+ fNdf(0),
+ fMinNPoints(0),
+ fIsOwner(kFALSE)
{
// default constructor
//
for (Int_t i=0;i<6;i++) fParams[i] = 0;
- fCov = 0;
- fPoints = 0;
- fPVolId = fPTrack = 0;
- fChi2 = 0;
- fNdf = 0;
- fIsOwner = kFALSE;
}
//_____________________________________________________________________________
-AliTrackFitter::AliTrackFitter(AliTrackPointArray *array, Bool_t owner)
+AliTrackFitter::AliTrackFitter(AliTrackPointArray *array, Bool_t owner) :
+ TObject(),
+ fCov(new TMatrixDSym(6)),
+ fPoints(0),
+ fPVolId(0),
+ fPTrack(0),
+ fChi2(0),
+ fNdf(0),
+ fMinNPoints(0),
+ fIsOwner(kFALSE)
+
{
// constructor from space points array
//
for (Int_t i=0;i<6;i++) fParams[i] = 0;
- fCov = new TMatrixDSym(6);
- fPVolId = fPTrack = 0;
- fChi2 = 0;
- fNdf = 0;
- fIsOwner = kFALSE;
SetTrackPointArray(array,owner);
}
//_____________________________________________________________________________
AliTrackFitter::AliTrackFitter(const AliTrackFitter &fitter):
- TObject(fitter)
+ TObject(fitter),
+ fCov(new TMatrixDSym(*fitter.fCov)),
+ fPoints(0),
+ fPVolId(0),
+ fPTrack(0),
+ fChi2(fitter.fChi2),
+ fNdf(fitter.fNdf),
+ fMinNPoints(fitter.fMinNPoints),
+ fIsOwner(kFALSE)
{
// 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;
- fIsOwner = kFALSE;
}
//_____________________________________________________________________________
fCov = new TMatrixDSym(*fitter.fCov);
fChi2 = fitter.fChi2;
fNdf = fitter.fNdf;
+ fMinNPoints = fitter.fMinNPoints;
fIsOwner = kFALSE;
return *this;
// 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;
+}