]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITStrackerV2.cxx
Coverity fix
[u/mrichter/AliRoot.git] / ITS / AliITStrackerV2.cxx
index a1b1d6a2c5099c77776df72b390c4d00b5272709..d80e89f8f05dcfcdc408f0a37557d7918f230812 100644 (file)
@@ -282,14 +282,8 @@ Int_t AliITStrackerV2::Clusters2Tracks(AliESDEvent *event) {
       if (esd->GetStatus()&AliESDtrack::kTPCout) continue;
       if (esd->GetStatus()&AliESDtrack::kITSin) continue;
 
-      AliITStrackV2 *t=0;
-      try {
-        t=new AliITStrackV2(*esd);
-      } catch (const Char_t *msg) {
-        Warning("Clusters2Tracks",msg);
-        delete t;
-        continue;
-      }
+      AliITStrackV2 *t = new AliITStrackV2(*esd);
+
       if (TMath::Abs(t->GetD(GetX(),GetY()))>4) {
        delete t;
        continue;
@@ -363,14 +357,7 @@ Int_t AliITStrackerV2::PropagateBack(AliESDEvent *event) {
      if ((esd->GetStatus()&AliESDtrack::kITSin)==0) continue;
      if (esd->GetStatus()&AliESDtrack::kITSout) continue;
 
-     AliITStrackV2 *t=0;
-     try {
-        t=new AliITStrackV2(*esd);
-     } catch (const Char_t *msg) {
-        Warning("PropagateBack",msg);
-        delete t;
-        continue;
-     }
+     AliITStrackV2 *t = new AliITStrackV2(*esd);
 
      ResetTrackToFollow(*t);
 
@@ -380,7 +367,10 @@ Int_t AliITStrackerV2::PropagateBack(AliESDEvent *event) {
        if (fTrackToFollow.PropagateToVertex(event->GetVertex())) {
           fTrackToFollow.StartTimeIntegral();
        }
-       fTrackToFollow.PropagateTo(3.,-0.0028,65.19);
+       Bool_t okProp=fTrackToFollow.PropagateTo(3.,-0.0028,65.19);
+       if(!okProp){
+        AliWarning("Propagation to beam pipe radius failed");
+       }
      }
 
      fTrackToFollow.ResetCovariance(10.); fTrackToFollow.ResetClusters();
@@ -424,14 +414,7 @@ Int_t AliITStrackerV2::RefitInward(AliESDEvent *event) {
     if (esd->GetStatus()&AliESDtrack::kTPCout)
     if ((esd->GetStatus()&AliESDtrack::kTPCrefit)==0) continue;
 
-    AliITStrackV2 *t=0;
-    try {
-        t=new AliITStrackV2(*esd);
-    } catch (const Char_t *msg) {
-        Warning("RefitInward",msg);
-        delete t;
-        continue;
-    }
+    AliITStrackV2 *t = new AliITStrackV2(*esd);
 
     if (CorrectForDeadZoneMaterial(t)!=0) {
        Warning("RefitInward",
@@ -668,7 +651,10 @@ AliITStrackerV2::AliITSlayer::AliITSlayer():
   //--------------------------------------------------------------------
   
   for (Int_t i=0; i<kNsector; i++) fN[i]=0;
-
+  for (Int_t i=0; i<AliITSRecoParam::kMaxClusterPerLayer; i++){
+    fClusters[i]=0;
+    fIndex[i]=0;
+  }
 }
 
 AliITStrackerV2::AliITSlayer::
@@ -688,8 +674,10 @@ AliITSlayer(Double_t r,Double_t p,Double_t z,Int_t nl,Int_t nd):
 
   for (Int_t i=0; i<kNsector; i++) fN[i]=0;
 
-  for (Int_t i=0; i<AliITSRecoParam::fgkMaxClusterPerLayer; i++) fClusters[i]=0;
-
+  for (Int_t i=0; i<AliITSRecoParam::kMaxClusterPerLayer; i++){
+    fClusters[i]=0;
+    fIndex[i]=0;
+  }
 }
 
 AliITStrackerV2::AliITSlayer::~AliITSlayer() {
@@ -1025,13 +1013,21 @@ Bool_t AliITStrackerV2::RefitAt(Double_t xx,AliITStrackV2 *t,
  
      {
      Double_t hI=i-0.5*step; 
-     if (TMath::Abs(hI-1.5)<0.01 || TMath::Abs(hI-3.5)<0.01) {             
-        Double_t rs=0.5*(fgLayers[i-step].GetR() + r);
-        Double_t d=0.0034, x0=38.6; 
-        if (TMath::Abs(hI-1.5)<0.01) {rs=9.; d=0.0097; x0=42;}
-        if (!t->PropagateTo(rs,-step*d,x0)) {
-          return kFALSE;
-        }
+     if (TMath::Abs(hI-1.5)<0.01 || TMath::Abs(hI-3.5)<0.01) {  
+       Int_t iLay = i-step;
+       Double_t rs = 0.;
+       if(iLay<0 || iLay>= AliITSgeomTGeo::kNLayers){
+        AliError(Form("Invalid layer %d ",iLay));
+        return kFALSE;
+       }
+       else{
+        rs=0.5*(fgLayers[i-step].GetR() + r);
+       }
+       Double_t d=0.0034, x0=38.6; 
+       if (TMath::Abs(hI-1.5)<0.01) {rs=9.; d=0.0097; x0=42;}
+       if (!t->PropagateTo(rs,-step*d,x0)) {
+        return kFALSE;
+       }
      }
      }