}
Bool_t AliTrackFitter::Fit(const TArrayI *volIds,const TArrayI *volIdsFit,
-AliAlignObj::ELayerID layerRangeMin,
-AliAlignObj::ELayerID layerRangeMax)
+AliGeomManager::ELayerID layerRangeMin,
+AliGeomManager::ELayerID layerRangeMax)
{
//-------------------------------------------------------------------
//
// Fast counting the points
Int_t countFit=0;
Int_t countPnt=0;
+
+ Int_t fst=-1;
+ Int_t lst=-1;
if (volIdsFit != 0x0) {
for (Int_t i=0; i<npoints; i++) {
if (FindVolId(volIds, fPoints->GetVolumeID()[i])) countPnt++;
- if (FindVolId(volIdsFit,fPoints->GetVolumeID()[i])) countFit++;
+ if (FindVolId(volIdsFit,fPoints->GetVolumeID()[i])) {
+ countFit++;
+ if (fst<0) fst=i;
+ lst=i;
+ }
}
} else {
for (Int_t i=0; i<npoints; i++) {
UShort_t id=fPoints->GetVolumeID()[i];
if (FindVolId(volIds,id)) countPnt++;
- if (id < AliAlignObj::LayerToVolUID(layerRangeMin,0)) continue;
- if (id > AliAlignObj::LayerToVolUID(layerRangeMax,
- AliAlignObj::LayerSize(layerRangeMax))) continue;
+ if (id < AliGeomManager::LayerToVolUID(layerRangeMin,0)) continue;
+ if (id > AliGeomManager::LayerToVolUID(layerRangeMax,
+ AliGeomManager::LayerSize(layerRangeMax))) continue;
countFit++;
+ if (fst<0) fst=i;
+ lst=i;
}
}
if (countPnt==0) return kFALSE;
//************* Fit the selected track points
- //Reset();
+ if (!Begin(fst,lst)) return kFALSE;
AliTrackPoint p;
if (volIdsFit != 0x0) {
} else {
for (Int_t i=0; i<npoints; i++) {
UShort_t id=fPoints->GetVolumeID()[i];
- if (FindVolId(volIds,id)) countPnt++;
- if (id < AliAlignObj::LayerToVolUID(layerRangeMin,0)) continue;
- if (id > AliAlignObj::LayerToVolUID(layerRangeMax,
- AliAlignObj::LayerSize(layerRangeMax))) continue;
+ if (id < AliGeomManager::LayerToVolUID(layerRangeMin,0)) continue;
+ if (id > AliGeomManager::LayerToVolUID(layerRangeMax,
+ AliGeomManager::LayerSize(layerRangeMax))) continue;
fPoints->GetPoint(p,i);
if (!AddPoint(&p)) continue;
}