fix coverity
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Oct 2010 09:03:48 +0000 (09:03 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 27 Oct 2010 09:03:48 +0000 (09:03 +0000)
TRD/AliTRDpropagationLayer.cxx
TRD/AliTRDtrack.cxx
TRD/AliTRDtrackerDebug.cxx
TRD/AliTRDtrackerV1.cxx
TRD/AliTRDtrackingChamber.cxx
TRD/AliTRDtrackingSector.cxx

index 13f65d7..47e2bf5 100644 (file)
@@ -68,7 +68,7 @@ AliTRDpropagationLayer::AliTRDpropagationLayer()
     fZmaxSensitive[iZones] = 0.0;
     fIsHole[iZones]        = kFALSE;   
   }
-
+  memset(fZmaxSensitive, 0, kZones*sizeof(Double_t));
 }
 
 //_____________________________________________________________________________
@@ -112,7 +112,7 @@ AliTRDpropagationLayer::AliTRDpropagationLayer(Double_t x, Double_t dx, Double_t
   for (Int_t i = 0; i < 5; i++) {
     fIsHole[i] = kFALSE;
   }
-
+  memset(fZmaxSensitive, 0, kZones*sizeof(Double_t));
 }
 
 //_____________________________________________________________________________
@@ -151,16 +151,16 @@ AliTRDpropagationLayer::AliTRDpropagationLayer(const AliTRDpropagationLayer &p)
 
        // Make a deep copy of the Clusters array and the Index array unless they are needed in class AliTRDstackLayer
        Int_t arrsize = (Int_t)kMaxClusterPerTimeBin;
-        if (fTimeBinIndex >= 0) { 
+       if (fTimeBinIndex >= 0) {
     fClusters = new AliTRDcluster*[arrsize];
     fIndex    = new UInt_t[arrsize];
+    memset(fIndex, 0, sizeof(UInt_t)*arrsize);
+    memset(fClusters, 0, sizeof(AliTRDcluster *)*arrsize);
+    for(Int_t i = 0; i < arrsize; i++){
+      fClusters[i] = p.fClusters[i];
+      fIndex[i] = p.fIndex[i];
+    }
   }
-       memset(fIndex, 0, sizeof(UInt_t)*arrsize);
-       memset(fClusters, 0, sizeof(AliTRDcluster *)*arrsize);
-       for(Int_t i = 0; i < arrsize; i++){
-               fClusters[i] = p.fClusters[i];
-               fIndex[i] = p.fIndex[i];
-       }
 }
  
 //_____________________________________________________________________________
index 5ea5421..39f222b 100644 (file)
@@ -463,8 +463,8 @@ void AliTRDtrack::CookdEdx(Double_t low, Double_t up)
     sorted[i] = TMath::Abs(fdQdl[i]);
   }
   // Sort the dedx values by amplitude
-  Int_t *index = new Int_t[fNdedx];
-  TMath::Sort((int)fNdedx, sorted, index, kFALSE);
+  Int_t *index = new Int_t[4*fNdedx];
+  TMath::Sort(fNdedx, sorted, index, kFALSE);
 
   // Sum up the truncated charge between lower and upper bounds 
   Int_t nl = Int_t(low * fNdedx);
index 9773f21..5ae3cf3 100644 (file)
@@ -146,7 +146,7 @@ void AliTRDtrackerDebug::ResidualsClustersTrack(const AliTRDseedV1 *tracklet)
     Double_t xc = c->GetX(), yc = c->GetY(), zc = c->GetZ();
 
     // propagate track to cluster 
-    PropagateToX(*fTrack, xc, 2.); 
+    if(!PropagateToX(*fTrack, xc, 2.)) continue; 
     fTrack->GetXYZ(x);
     
     // transform to local tracking coordinates
@@ -675,9 +675,11 @@ TCanvas* AliTRDtrackerDebug::PlotFullTrackFit(Int_t event, Int_t candidate, Int_
       else
         refP[nLayers] = tracklet[iLayer]->GetZref(0);
       nLayers++;
+      AliTRDcluster *cl(NULL);
       for(Int_t itb = 0; itb < 30; itb++){
         if(!tracklet[iLayer]->IsUsable(itb)) continue;
-        AliTRDcluster *cl = tracklet[iLayer]->GetClusters(itb);
+        if(!(cl = tracklet[iLayer]->GetClusters(itb))) continue;
+        
         if(!strcmp(direction, "y"))
           clp[ncls] = cl->GetY();
         else
index 3344173..ced51b6 100644 (file)
@@ -293,7 +293,7 @@ Int_t AliTRDtrackerV1::PropagateBack(AliESDEvent *event)
   // (covariance in the yz plane)
   if(nSeeds){  
     quality = new Float_t[nSeeds];
-    index   = new Int_t[nSeeds];
+    index   = new Int_t[4*nSeeds];
     for (Int_t iSeed = nSeeds; iSeed--;) {
       AliESDtrack *seed = event->GetTrack(iSeed);
       Double_t covariance[15];
@@ -2282,7 +2282,7 @@ Int_t AliTRDtrackerV1::Clusters2TracksStack(AliTRDtrackingChamber **stack, TClon
     if(!ntracks) break;
     
     // Sort the seeds according to their quality
-    Int_t sort[kMaxTracksStack];
+    Int_t sort[kMaxTracksStack+1];
     TMath::Sort(ntracks, fTrackQuality, sort, kTRUE);
     if(AliLog::GetDebugLevel("TRD", "AliTRDtrackerV1") > 2){
       AliDebug(3, "Track candidates classification:");
@@ -3124,7 +3124,7 @@ Bool_t AliTRDtrackerV1::ImproveSeedQuality(AliTRDtrackingChamber **stack, AliTRD
   for (Int_t iter = 0; iter < 4; iter++) {
     // Try better cluster set
     Int_t nLayers(0); Float_t qualitynew(0.);
-    Int_t  indexes[AliTRDgeometry::kNlayer];
+    Int_t  indexes[4*AliTRDgeometry::kNlayer];
     TMath::Sort(Int_t(AliTRDgeometry::kNlayer), lQuality, indexes, kFALSE);
     for(Int_t jLayer=AliTRDgeometry::kNlayer; jLayer--;) {
       Int_t bLayer = indexes[jLayer];
index 80f6087..d9b054f 100644 (file)
@@ -262,8 +262,8 @@ Bool_t AliTRDtrackingChamber::GetSeedingLayer(AliTRDchamberTimeBin *&fakeLayer,
   Float_t *cogz[kMaxRows];
   
   // Lookup-Table storing coordinates according to the bins
-  Float_t yLengths[kMaxCols];
-  Float_t zLengths[kMaxRows];
+  Float_t yLengths[kMaxCols]; memset(yLengths, 0, kMaxCols*sizeof(Float_t));
+  Float_t zLengths[kMaxRows]; memset(zLengths, 0, kMaxRows*sizeof(Float_t));
   for(Int_t icnt = 0; icnt < nCols; icnt++){
     yLengths[icnt] = pp->GetColPos(nCols - 1 - icnt) + binlength/2;
   }
index 189f98b..6b7419f 100644 (file)
@@ -41,6 +41,7 @@ AliTRDtrackingSector::AliTRDtrackingSector()
   // Default constructor\r
   \r
   memset(fChamber, 0, AliTRDgeometry::kNdets*sizeof(AliTRDtrackingChamber*));\r
+  memset(fStack,   0, AliTRDgeometry::kNlayer*sizeof(AliTRDtrackingChamber*));\r
   memset(fIndex, -1, AliTRDgeometry::kNdets*sizeof(Char_t));\r
   memset(fX0, 0, AliTRDgeometry::kNlayer*sizeof(Float_t));\r
 }\r
@@ -56,6 +57,7 @@ AliTRDtrackingSector::AliTRDtrackingSector(AliTRDgeometry *geo, Int_t gs)
   //\r
 \r
   memset(fChamber, 0, AliTRDgeometry::kNdets*sizeof(AliTRDtrackingChamber*));\r
+  memset(fStack,   0, AliTRDgeometry::kNlayer*sizeof(AliTRDtrackingChamber*));\r
   memset(fIndex, -1, AliTRDgeometry::kNdets*sizeof(Char_t));\r
   memset(fX0, 0, AliTRDgeometry::kNlayer*sizeof(Float_t));\r
 }\r