Fixed bug in expansion routine of arrays (initialize buffers properly)
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Nov 2000 14:34:08 +0000 (14:34 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 23 Nov 2000 14:34:08 +0000 (14:34 +0000)
TRD/AliTRDdataArrayF.cxx
TRD/AliTRDdataArrayI.cxx
TRD/AliTRDdigitizer.cxx

index fbdee9b..43c9e75 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.7  2000/11/20 08:56:07  cblume
+Cleanup of data arrays
+
 Revision 1.6  2000/11/01 14:53:20  cblume
 Merge with TRD-develop
 
@@ -331,6 +334,7 @@ void AliTRDdataArrayF::Expand1()
   fNelems = fNdim1 * fNdim2;
 
   Float_t *buf = new Float_t[fNelems];
+  memset(buf,0,fNelems*sizeof(Float_t)); 
 
   fIndex->Set(fNdim2);
 
@@ -344,11 +348,10 @@ void AliTRDdataArrayF::Expand1()
 
     // Negative sign counts the unwritten values (under threshold)
     if ((*fElements)[i] < 0) {
-      //idx1 -= (Int_t) fElements->At(i);
       idx1 -= TMath::Nint(fElements->At(i));
     } 
     else {
-      buf[(*fIndex)[idx2] + idx1] = fElements->At(i);
+      buf[(*fIndex)[idx2] + idx1] = (*fElements)[i];
       idx1++;
     }
     if (idx1 == fNdim1) {
@@ -374,10 +377,6 @@ void AliTRDdataArrayF::Compress1()
   // Compress a buffer of type 1
   //
 
-  //AliTRDarrayF buf;  
-  //buf.Set(fNelems);
-  //AliTRDarrayI index;
-  //index.Set(fNdim2);
   AliTRDarrayF *buf   = new AliTRDarrayF();  
   buf->Set(fNelems);
   AliTRDarrayI *index = new AliTRDarrayI();
@@ -388,7 +387,6 @@ void AliTRDdataArrayF::Compress1()
   for (Int_t idx2 = 0; idx2 < fNdim2; idx2++){      
 
     // Set the idx2 pointer
-    //index[idx2] = icurrent + 1;
     (*index)[idx2] = icurrent + 1;
 
     // Reset the zero counter 
@@ -403,37 +401,26 @@ void AliTRDdataArrayF::Compress1()
        if (izero > 0) {
          // If we have currently izero counts under threshold
          icurrent++;     
-         //if (icurrent >= buf.fN) buf.Expand(icurrent*2);
          if (icurrent >= buf->fN) buf->Expand(icurrent*2);
           // Store the number of entries below zero
-         //buf[icurrent] = -izero;  
          (*buf)[icurrent] = -izero;  
          izero = 0;
        } 
        icurrent++;
-       //if (icurrent >= buf.fN) buf.Expand(icurrent*2);
        if (icurrent >= buf->fN) buf->Expand(icurrent*2);
-       //buf[icurrent] = GetDataFast(idx1,idx2);           
        (*buf)[icurrent] = GetDataFast(idx1,idx2);          
       } // If signal larger than threshold             
     } // End of loop over idx1
 
     if (izero > 0) {
       icurrent++;        
-      //if (icurrent >= buf.fN) buf.Expand(icurrent*2);
       if (icurrent >= buf->fN) buf->Expand(icurrent*2);
       // Store the number of entries below zero
-      //buf[icurrent] = -izero;  
       (*buf)[icurrent] = -izero;  
     }
 
   }
 
-  //buf.Expand(icurrent+1);
-  //(*fElements) = buf;
-  //fNelems   = fElements->fN;
-  //fBufType  = 1;
-  //(*fIndex) = index;
   buf->Expand(icurrent+1);
   if (fElements) delete fElements;
   fElements = buf;
@@ -452,7 +439,9 @@ void AliTRDdataArrayF::Expand2()
   //
 
   Int_t i, k;
+
   Float_t *buf = new Float_t[fNelems];
+  memset(buf,0,fNelems*sizeof(Float_t)); 
 
   fNelems = fNdim1 * fNdim2;
   fIndex->Set(fNdim2);
index ec418d9..1ed83e5 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.7  2000/11/20 08:56:07  cblume
+Cleanup of data arrays
+
 Revision 1.6  2000/11/01 14:53:20  cblume
 Merge with TRD-develop
 
@@ -330,6 +333,7 @@ void AliTRDdataArrayI::Expand1()
   fNelems = fNdim1 * fNdim2;
 
   Int_t *buf = new Int_t[fNelems];
+  memset(buf,0,fNelems*sizeof(Int_t));
 
   fIndex->Set(fNdim2);
 
@@ -343,10 +347,10 @@ void AliTRDdataArrayI::Expand1()
 
     // Negative sign counts the unwritten values (under threshold)
     if ((*fElements)[i] < 0) {
-      idx1 -= fElements->At(i);
+      idx1 -= (*fElements)[i];
     } 
     else {
-      buf[(*fIndex)[idx2] + idx1] = fElements->At(i);
+      buf[(*fIndex)[idx2] + idx1] = (*fElements)[i];
       idx1++;
     }
     if (idx1 == fNdim1) {
@@ -372,10 +376,6 @@ void AliTRDdataArrayI::Compress1()
   // Compress a buffer of type 1
   //
 
-  //AliTRDarrayI  buf;  
-  //buf.Set(fNelems);
-  //AliTRDarrayI  index;
-  //index.Set(fNdim2);
   AliTRDarrayI *buf   = new AliTRDarrayI();  
   buf->Set(fNelems);
   AliTRDarrayI *index = new AliTRDarrayI();
@@ -386,7 +386,6 @@ void AliTRDdataArrayI::Compress1()
   for (Int_t idx2 = 0; idx2 < fNdim2; idx2++){      
 
     // Set the idx2 pointer
-    //index[idx2] = icurrent + 1;
     (*index)[idx2] = icurrent + 1;
 
     // Reset the zero counter 
@@ -401,37 +400,26 @@ void AliTRDdataArrayI::Compress1()
        if (izero > 0) {
          // If we have currently izero counts under threshold
          icurrent++;     
-         //if (icurrent >= buf.fN) buf.Expand(icurrent*2);
          if (icurrent >= buf->fN) buf->Expand(icurrent*2);
           // Store the number of entries below zero
-         //buf[icurrent] = -izero;  
          (*buf)[icurrent] = -izero;  
          izero = 0;
        } 
        icurrent++;
-       //if (icurrent >= buf.fN) buf.Expand(icurrent*2);
        if (icurrent >= buf->fN) buf->Expand(icurrent*2);
-       //buf[icurrent] = GetDataFast(idx1,idx2);           
        (*buf)[icurrent] = GetDataFast(idx1,idx2);          
       } // If signal larger than threshold             
     } // End of loop over idx1
 
     if (izero > 0) {
       icurrent++;        
-      //if (icurrent >= buf.fN) buf.Expand(icurrent*2);
       if (icurrent >= buf->fN) buf->Expand(icurrent*2);
       // Store the number of entries below zero
-      //buf[icurrent] = -izero; 
       (*buf)[icurrent] = -izero; 
     }
 
   }
 
-  //buf.Expand(icurrent+1);
-  //(*fElements) = buf;
-  //fNelems   = fElements->fN;
-  //fBufType  = 1;
-  //(*fIndex) = index;
   buf->Expand(icurrent+1);
   if (fElements) delete fElements;
   fElements = buf;
@@ -450,7 +438,9 @@ void AliTRDdataArrayI::Expand2()
   //
 
   Int_t i, k;
+
   Int_t *buf = new Int_t[fNelems];
+  memset(buf,0,fNelems*sizeof(Int_t)); 
 
   fNelems = fNdim1 * fNdim2;
   fIndex->Set(fNdim2);
index 23f7cea..a1fec16 100644 (file)
@@ -15,6 +15,9 @@
 
 /*
 $Log$
+Revision 1.14  2000/11/20 08:54:44  cblume
+Switch off compression as default
+
 Revision 1.13  2000/11/10 14:57:52  cblume
 Changes in the geometry constants for the DEC compiler
 
@@ -158,7 +161,7 @@ AliTRDdigitizer::AliTRDdigitizer():TNamed()
   fTRFlo         = 0.0;
   fTRFhi         = 0.0;
   fTRFwid        = 0.0;
-  fCompress      = kFALSE;
+  fCompress      = kTRUE;
   fVerbose       = 1;
 
 }
@@ -846,7 +849,6 @@ Bool_t AliTRDdigitizer::MakeDigits()
     if (fVerbose > 0) {
       printf("AliTRDdigitizer::MakeDigits -- ");
       printf("Digitization for chamber %d\n",iDet);
-      printf("iDet = %d, nRowMax = %d, nColMax = %d, nTimeMax = %d\n",iDet,nRowMax,nColMax,nTimeMax);
     }
 
     // Add a container for the digits of this detector