#include "AliTrackResiduals.h"
#include "AliAlignObj.h"
-#include "AliAlignObjAngles.h"
+#include "AliAlignObjParams.h"
#include "AliTrackPointArray.h"
ClassImp(AliTrackResiduals)
fIsOwner(kTRUE)
{
// Default constructor
+ for (Int_t ipar=0; ipar<6; ipar++){
+ fBFixed[ipar] = kFALSE;
+ fFixed[ipar] = 0.;
+ }
}
//_____________________________________________________________________________
fN(ntracks),
fLast(0),
fAlignObj(0),
+ fVolArray(0),
+ fTrackArray(0),
fChi2(0),
fNdf(0),
fMinNPoints(0),
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.;
+ }
}
//_____________________________________________________________________________
TObject(res),
fN(res.fN),
fLast(res.fLast),
+ fAlignObj(0),
+ fVolArray(0),
+ fTrackArray(0),
fChi2(res.fChi2),
fNdf(res.fNdf),
fMinNPoints(res.fMinNPoints),
fTrackArray = 0x0;
}
}
+ for(Int_t i=0;i<6;i++) {
+ fBFixed[i]=res.fBFixed[i];
+ fFixed[i]=res.fFixed[i];
+ }
}
//_____________________________________________________________________________
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;
}
for (Int_t itrack = 0; itrack < ntracks; itrack++)
fVolArray[itrack] = fTrackArray[itrack] = 0x0;
}
+ else {
+ fVolArray = fTrackArray = 0x0;
+ }
}
//_____________________________________________________________________________
// Create the alignment object
// to be updated
if (fAlignObj) delete fAlignObj;
- fAlignObj = new AliAlignObjAngles;
+ fAlignObj = new AliAlignObjParams;
}
// the object is their owner.
// Called by the destructor and SetNTracks methods.
if (fIsOwner) {
- for (Int_t itrack = 0; itrack < fLast; itrack++)
- {
- delete fVolArray[itrack];
- delete fTrackArray[itrack];
+ if (fVolArray) {
+ for (Int_t itrack = 0; itrack < fN; itrack++) {
+ if (fVolArray[itrack]) delete fVolArray[itrack];
}
- delete [] fVolArray;
- delete [] fTrackArray;
+ delete [] fVolArray;
+ }
+ if (fTrackArray) {
+ for (Int_t itrack = 0; itrack < fN; itrack++) {
+ if (fTrackArray[itrack]) delete fTrackArray[itrack];
+ }
+ delete [] fTrackArray;
+ }
+ }
+}
+
+//_____________________________________________________
+Int_t AliTrackResiduals::GetNFreeParam(){
+ Int_t unfixedparam=6;
+ for(Int_t j=0;j<6;j++){
+ if(fBFixed[j]==kTRUE)unfixedparam--;
}
+ return unfixedparam;
}