]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliTrackResiduals.cxx
Using proper file IDs in DAs
[u/mrichter/AliRoot.git] / STEER / AliTrackResiduals.cxx
index 157d620779d174118d1e2d737dd33084aacd28bf..aafe24dee2864b916d6cb269194047a9eaad7fd7 100644 (file)
@@ -22,6 +22,7 @@
 #include "AliTrackResiduals.h"
 
 #include "AliAlignObj.h"
+#include "AliAlignObjParams.h"
 #include "AliTrackPointArray.h"
 
 ClassImp(AliTrackResiduals)
@@ -35,9 +36,14 @@ AliTrackResiduals::AliTrackResiduals():
   fTrackArray(0),
   fChi2(0),
   fNdf(0),
+  fMinNPoints(0),
   fIsOwner(kTRUE)
 {
   // Default constructor
+  for (Int_t ipar=0; ipar<6; ipar++){
+    fBFixed[ipar] = kFALSE;
+    fFixed[ipar]  = 0.;
+  }  
 }
 
 //_____________________________________________________________________________
@@ -45,8 +51,11 @@ AliTrackResiduals::AliTrackResiduals(Int_t ntracks):
   fN(ntracks),
   fLast(0),
   fAlignObj(0),
+  fVolArray(0),
+  fTrackArray(0),
   fChi2(0),
   fNdf(0),
+  fMinNPoints(0),
   fIsOwner(kTRUE)
 {
   // Constructor
@@ -56,6 +65,10 @@ AliTrackResiduals::AliTrackResiduals(Int_t ntracks):
     for (Int_t itrack = 0; itrack < ntracks; itrack++)
       fVolArray[itrack] = fTrackArray[itrack] = 0x0;
   }
+  for (Int_t ipar=0; ipar<6; ipar++){
+    fBFixed[ipar] = kFALSE;
+    fFixed[ipar]  = 0.;
+  }  
 }
 
 //_____________________________________________________________________________
@@ -63,8 +76,12 @@ AliTrackResiduals::AliTrackResiduals(const AliTrackResiduals &res):
   TObject(res),
   fN(res.fN),
   fLast(res.fLast),
+  fAlignObj(0),
+  fVolArray(0),
+  fTrackArray(0),
   fChi2(res.fChi2),
   fNdf(res.fNdf),
+  fMinNPoints(res.fMinNPoints),
   fIsOwner(kTRUE)
 {
   // Copy constructor
@@ -87,6 +104,10 @@ AliTrackResiduals::AliTrackResiduals(const AliTrackResiduals &res):
          fTrackArray = 0x0;
       }
   }
+  for(Int_t i=0;i<6;i++) { 
+    fBFixed[i]=res.fBFixed[i];
+    fFixed[i]=res.fFixed[i];
+  }
 }
 
 //_____________________________________________________________________________
@@ -101,12 +122,18 @@ AliTrackResiduals &AliTrackResiduals::operator =(const AliTrackResiduals& res)
   fLast = res.fLast;
   fChi2 = res.fChi2;
   fNdf  = res.fNdf;
+  fMinNPoints = res.fMinNPoints;
   fIsOwner = kFALSE;
   fAlignObj = res.fAlignObj;
 
   fVolArray = res.fVolArray;
   fTrackArray = res.fTrackArray;
 
+  for(Int_t i=0;i<6;i++) { 
+    fBFixed[i]=res.fBFixed[i];
+    fFixed[i]=res.fFixed[i];
+  }
+
   return *this;
 }
 
@@ -147,6 +174,10 @@ Bool_t AliTrackResiduals::AddTrackPointArrays(AliTrackPointArray *volarray, AliT
   // track extrapolation point arrays
   if (!fVolArray || !fTrackArray) return kFALSE;
 
+  if (!volarray || !trackarray) return kFALSE;
+
+  if (volarray->GetNPoints() < fMinNPoints) return kFALSE;
+
   if (fLast >= fN) return kFALSE;
 
   fVolArray[fLast] = volarray;
@@ -157,13 +188,12 @@ Bool_t AliTrackResiduals::AddTrackPointArrays(AliTrackPointArray *volarray, AliT
 }
 
 //_____________________________________________________________________________
-void AliTrackResiduals::SetAlignObj(AliAlignObj *alignobj)
+void AliTrackResiduals::InitAlignObj()
 {
-  // Copy the alignment object to be updated in fAlignObj
-  // and flush its parameters
+  // Create the alignment object 
+  // to be updated
   if (fAlignObj) delete fAlignObj;
-  fAlignObj = (AliAlignObj *)alignobj->Clone();
-  fAlignObj->SetPars(0,0,0,0,0,0);
+  fAlignObj = new AliAlignObjParams;
 }