]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSSDigitizer.cxx
First commit (N. Carrer)
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSDigitizer.cxx
index fcc6cd84a86dd2b61a9a3505c8527ed554a6a269..99cf7158cf02dcbeeff03f233404fc168237fa2b 100644 (file)
@@ -120,9 +120,7 @@ void AliPHOSSDigitizer::Init()
   sdname.Append(GetTitle() ) ;
   SetName(sdname) ;
   gime->PostSDigitizer(this) ;
-  // create a folder on the white board //YSAlice/WhiteBoard/SDigits/PHOS/headerFile/sdigitsTitle
-    
+     
 }
 
 //____________________________________________________________________________
@@ -142,6 +140,10 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
 
   //Check, if this branch already exits
   gAlice->GetEvent(0) ;
+
+  TString sdname(GetName()) ;
+  sdname.Remove(sdname.Index(GetTitle())-1) ;
+  
   if(gAlice->TreeS() ) {
     TObjArray * lob = static_cast<TObjArray*>(gAlice->TreeS()->GetListOfBranches()) ;
     TIter next(lob) ; 
@@ -163,9 +165,6 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
     }   
   }  
 
-  TString sdname(GetName()) ;
-  sdname.Remove(sdname.Index(GetTitle())-1) ;
-    
   AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
 
   Int_t nevents = (Int_t) gAlice->TreeE()->GetEntries() ; 
@@ -173,19 +172,20 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
   Int_t ievent ;
   for(ievent = 0; ievent < nevents; ievent++){
     gime->Event(ievent,"H") ;
-
+    const TClonesArray * hits = gime->Hits() ;
     TClonesArray * sdigits = gime->SDigits(sdname.Data()) ;
     sdigits->Clear();
     Int_t nSdigits = 0 ;
     
     
     //Now make SDigits from hits, for PHOS it is the same, so just copy    
-    Int_t itrack ;
-    for (itrack=0; itrack < gAlice->GetNtrack(); itrack++){
-  
-      //=========== Get the PHOS branch from Hits Tree for the Primary track itrack
-      gime->Track(itrack) ;
-      TClonesArray * hits = gime->Hits() ;
+
+//******************** CHECK HERE
+//YS DOES NOT UNDERSTAND THE NEED FOR THE FOLLOWING LOOP
+//     Int_t itrack ;
+//     for (itrack=0; itrack < gAlice->GetNtrack(); itrack++){
+//       //=========== Get the PHOS branch from Hits Tree for the Primary track itrack
+//       gime->Track(itrack) ;
       Int_t i;
       for ( i = 0 ; i < hits->GetEntries() ; i++ ) {
        AliPHOSHit * hit = dynamic_cast<AliPHOSHit *>(hits->At(i)) ;
@@ -200,14 +200,14 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
        nSdigits++ ;    
        
       }
-    } // loop over tracks
+//    } // loop over tracks
     
     sdigits->Sort() ;
     
     nSdigits = sdigits->GetEntriesFast() ;
     fSDigitsInRun += nSdigits ;  
     sdigits->Expand(nSdigits) ;
-    Int_t i ;
+//    Int_t i ;
     for (i = 0 ; i < nSdigits ; i++) { 
       AliPHOSDigit * digit = dynamic_cast<AliPHOSDigit *>(sdigits->At(i)) ; 
       digit->SetIndexInList(i) ;     
@@ -253,12 +253,11 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
        subbr->SetFile(file);
       }   
       cwd->cd();
-      delete file;
+      delete [] file;
     }
 
-    sdigitsBranch->Fill() ;
-    sdigitizerBranch->Fill() ;
-    gAlice->TreeS()->Write(0,TObject::kOverwrite) ;
+    sdigitsBranch->Fill() ; 
+    gAlice->TreeS()->AutoSave() ;
     
     if(strstr(option,"deb"))
       PrintSDigits(option) ;
@@ -336,7 +335,7 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
   AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
   TString sdname(GetName()) ;
   sdname.Remove(sdname.Index(GetTitle())-1) ;
-  TClonesArray * sdigits = gime->SDigits(sdname.Data()) ; 
+  const TClonesArray * sdigits = gime->SDigits(sdname.Data()) ; 
 
   cout << "AliPHOSSDigitiser: event " << gAlice->GetEvNumber() << endl ;
   cout << "      Number of entries in SDigits list " << sdigits->GetEntriesFast() << endl ;