AliTOFDigitizer modified
authorvicinanz <vicinanz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Jun 2002 12:40:29 +0000 (12:40 +0000)
committervicinanz <vicinanz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 13 Jun 2002 12:40:29 +0000 (12:40 +0000)
TOF/AliTOFDigitizer.cxx

index 5a816dc1790ce3cd4baaf16717e62f2cb4b70413..75e9dd01b17ba4baecc2ea83fce0667c08eb91c4 100644 (file)
@@ -196,10 +196,12 @@ void AliTOFDigitizer::CreateDigits()
       tracknum[1]=tofsdigit->GetTrack(islot,1);
       tracknum[2]=tofsdigit->GetTrack(islot,2);
       
       tracknum[1]=tofsdigit->GetTrack(islot,1);
       tracknum[2]=tofsdigit->GetTrack(islot,2);
       
-      
+      // new with placement must be used
       // adding a TOF digit for each slot
       // adding a TOF digit for each slot
-      AliTOFdigit* newDigit=new AliTOFdigit(tracknum, vol, digit);
-      fDigits->Add(newDigit);
+      TClonesArray &aDigits = *fDigits;
+      Int_t last=fDigits->GetEntriesFast();
+      new (aDigits[last]) AliTOFdigit(tracknum, vol, digit);
+
     }
     
   } // end loop on sdigits - end digitizing all collected sdigits
     }
     
   } // end loop on sdigits - end digitizing all collected sdigits
@@ -281,8 +283,11 @@ void AliTOFDigitizer::ReadSDigit(Int_t inputFile )
 void AliTOFDigitizer::CollectSDigit(AliTOFSDigit * sdigit)
 {
   //
 void AliTOFDigitizer::CollectSDigit(AliTOFSDigit * sdigit)
 {
   //
-  // Add a TOF digit
-  // new with placement used
-  AliTOFSDigit sdigitCopy=AliTOFSDigit(*sdigit); // make a copy of the current sdigit
-  fSDigitsArray->Add(&sdigitCopy); // put it into tmp array
+  // Add a TOF sdigit in container
+  // new with placement must be used
+  TClonesArray &aSDigitsArray = *fSDigitsArray;
+  Int_t last=fSDigitsArray->GetEntriesFast();
+  // make a copy of the current sdigit and
+  // put it into tmp array
+  new (aSDigitsArray[last]) AliTOFSDigit(*sdigit);
 }
 }