]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PHOS/AliPHOSSDigitizer.cxx
Reducing the search window used to find the max in the ADC samples. Needed because...
[u/mrichter/AliRoot.git] / PHOS / AliPHOSSDigitizer.cxx
index 78fe69dc90c7ed7654088bacf4220ab6ab49e692..a74938a8123e0b733669b6796a6ef61e15aec705 100644 (file)
@@ -151,8 +151,9 @@ AliPHOSSDigitizer::~AliPHOSSDigitizer() {
   AliRunLoader* rl = AliRunLoader::GetRunLoader(fEventFolderName) ;
   if(rl){
     AliPHOSLoader * phosLoader = 
-      dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
-    phosLoader->CleanSDigitizer() ;
+      static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+    if(phosLoader)
+      phosLoader->CleanSDigitizer() ;
   }
 }
 
@@ -168,7 +169,7 @@ void AliPHOSSDigitizer::Init()
   if (!rl)
     rl = AliRunLoader::Open(GetTitle(), fEventFolderName) ; 
 
-  AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+  AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
   phosLoader->PostSDigitizer(this);
   phosLoader->GetSDigitsDataLoader()->GetBaseTaskLoader()->SetDoNotReload(kTRUE);
 }
@@ -214,14 +215,14 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
   }
 */
   AliRunLoader* rl = AliRunLoader::GetRunLoader(fEventFolderName) ;
-  AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
-
+  AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+  
   //switch off reloading of this task while getting event
   if (!fInit) { // to prevent overwrite existing file
     AliError( Form("Give a version name different from %s", fEventFolderName.Data()) ) ;
     return ;
   }
-
+  
   if (fLastEvent == -1) 
     fLastEvent = rl->GetNumberOfEvents() - 1 ;
   else 
@@ -252,7 +253,8 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
 
     //Now make SDigits from hits, for PHOS it is the same, so just copy    
     for ( i = 0 ; i < hits->GetEntries() ; i++ ) {
-      AliPHOSHit * hit = dynamic_cast<AliPHOSHit *>(hits->At(i)) ;
+      
+      AliPHOSHit * hit = static_cast<AliPHOSHit *>(hits->At(i)) ;
       // Assign primary number only if contribution is significant
       
       if( hit->GetEnergy() > fPrimThreshold)
@@ -271,12 +273,12 @@ void AliPHOSSDigitizer::Exec(Option_t *option)
 
     fSDigitsInRun += nSdigits ;  
     sdigits->Expand(nSdigits) ;
-
-    for (i = 0 ; i < nSdigits ; i++) { 
-      AliPHOSDigit * digit = dynamic_cast<AliPHOSDigit *>(sdigits->At(i)) ; 
+    
+    for (i = 0 ; i < nSdigits ; i++) {       
+      AliPHOSDigit * digit = static_cast<AliPHOSDigit *>(sdigits->At(i)) ;
       digit->SetIndexInList(i) ;     
     }
-
+    
 //    // make Quality Assurance data
 //
 //    if (GetQADataMaker()->IsCycleDone() ) {
@@ -351,7 +353,7 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
   // Prints list of digits produced in the current pass of AliPHOSDigitizer
 
   AliRunLoader* rl = AliRunLoader::GetRunLoader(fEventFolderName) ;
-  AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+  AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
 
   // Get PHOS Geometry object
   AliPHOSGeometry *geom;
@@ -371,8 +373,8 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
     Int_t maxEmc = geom->GetNModules() * geom->GetNCristalsInModule() ;
     Int_t index ;
     for (index = 0 ; (index < sdigits->GetEntriesFast()) && 
-        ((dynamic_cast<AliPHOSDigit *> (sdigits->At(index)))->GetId() <= maxEmc) ; index++) {
-      digit = dynamic_cast<AliPHOSDigit *>( sdigits->At(index) ) ;
+        ((static_cast<AliPHOSDigit *> (sdigits->At(index)))->GetId() <= maxEmc) ; index++) {
+      digit = static_cast<AliPHOSDigit *>( sdigits->At(index) ) ;
       //  if(digit->GetNprimary() == 0) 
       //       continue;
 //       printf("%6d  %8d    %6.5e %4d      %2d :\n", // YVK
@@ -393,7 +395,7 @@ void AliPHOSSDigitizer::PrintSDigits(Option_t * option)
     Int_t maxEmc = geom->GetNModules() * geom->GetNCristalsInModule() ;
     Int_t index ;
     for (index = 0 ; index < sdigits->GetEntriesFast(); index++) {
-      digit = dynamic_cast<AliPHOSDigit *>( sdigits->At(index) ) ;
+      digit = static_cast<AliPHOSDigit *>( sdigits->At(index) ) ;
       if(digit->GetId() > maxEmc){
        printf("\n%6d  %8d    %4d      %2d :",
                digit->GetId(), digit->GetAmp(), digit->GetIndexInList(), digit->GetNprimary()) ;  
@@ -411,7 +413,8 @@ void AliPHOSSDigitizer::Unload() const
 {
   // Unloads the objects from the folder
   AliRunLoader* rl = AliRunLoader::GetRunLoader(fEventFolderName) ;
-  AliPHOSLoader * phosLoader = dynamic_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+  AliPHOSLoader * phosLoader = static_cast<AliPHOSLoader*>(rl->GetLoader("PHOSLoader"));
+  
   phosLoader->UnloadHits() ; 
   phosLoader->UnloadSDigits() ; 
 }