IMproved the clean up in the dtor: folders are now deleted (necessary if one wants to
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Jun 2002 12:05:51 +0000 (12:05 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 7 Jun 2002 12:05:51 +0000 (12:05 +0000)
sdigitize and digitize in one aliroot session and for writing in separate files)

EMCAL/AliEMCALDigitizer.cxx
EMCAL/AliEMCALSDigitizer.cxx
PHOS/AliPHOSDigitizer.cxx
PHOS/AliPHOSSDigitizer.cxx

index c29b59ab0f06ac439bc381fc875b705d7606b76c..3ee6c9cc8e6d76c79538dd2913a6345db0a6c1a0 100644 (file)
@@ -195,6 +195,16 @@ AliEMCALDigitizer::AliEMCALDigitizer(AliRunDigitizer * ard):AliDigitizer(ard)
   if (fSplitFile)       
     if ( fSplitFile->IsOpen() )
       fSplitFile->Close() ;
+  
+  AliEMCALGetter * gime = AliEMCALGetter::GetInstance() ; 
+  // Close the root file
+  gime->CloseFile() ; 
+  // remove the task from the folder list
+  gime->RemoveTask("S",GetName()) ;
+  // remove the Digits from the folder list
+  gime->RemoveObjects("D", GetName()) ;
+ // remove the SDigits from the folder list
+  gime->RemoveSDigits() ;
 
 }
 
index 052545f52f189031687d59af9e55fc4dfb545fca..2eb4b9b41f086f5b35df7dc3b079483364210725 100644 (file)
@@ -106,8 +106,21 @@ AliEMCALSDigitizer::~AliEMCALSDigitizer()
   if (fSplitFile) 
     if ( fSplitFile->IsOpen() ) 
       fSplitFile->Close() ; 
+  // Close the root file
   AliEMCALGetter * gime = AliEMCALGetter::GetInstance() ; 
   gime->CloseFile() ; 
+
+  // remove the task from the folder list
+  gime->RemoveTask("S",GetName()) ;
+
+  TString name(GetName()) ; 
+  name.Remove(name.Index(":")) ; 
+
+ // remove the Hits from the folder list
+  gime->RemoveObjects("H",name) ;
+
+ // remove the SDigits from the folder list
+  gime->RemoveObjects("S", name) ;
 }
 
 //____________________________________________________________________________ 
index 4da8bd1df594a379277e5adc445ecdda90f0be68..5aeac1d9d7ece865a44ec6a9372f97d1d6c03c9f 100644 (file)
@@ -136,6 +136,16 @@ AliPHOSDigitizer::AliPHOSDigitizer(AliRunDigitizer * ard):AliDigitizer(ard)
  if (fSplitFile)       
    if ( fSplitFile->IsOpen() )         
      fSplitFile->Close() ;
+ AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
+ // Close the root file
+ gime->CloseFile() ; 
+ // remove the task from the folder list
+ gime->RemoveTask("D",GetName()) ;
+ // remove the Digits from the folder list
+ gime->RemoveObjects("D", GetName()) ;
+ // remove the SDigits from the folder list
+ gime->RemoveSDigits() ;
 
 }
 
index 22b3181095cfcd970d4702f92a76fa6b4e14faac..227f40f7d3d3fd5d0d0aa5a1575802c11c2a90cf 100644 (file)
@@ -106,7 +106,20 @@ AliPHOSSDigitizer::~AliPHOSSDigitizer()
     if ( fSplitFile->IsOpen() ) 
       fSplitFile->Close() ; 
   AliPHOSGetter * gime = AliPHOSGetter::GetInstance() ; 
+ // Close the root file
   gime->CloseFile() ; 
+
+ // remove the task from the folder list
+  gime->RemoveTask("S",GetName()) ;
+
+  TString name(GetName()) ; 
+  name.Remove(name.Index(":")) ; 
+
+ // remove the Hits from the folder list
+  gime->RemoveObjects("H",name) ;
+
+ // remove the SDigits from the folder list
+  gime->RemoveObjects("S", name) ;
 }
 
 //____________________________________________________________________________ 
@@ -343,6 +356,7 @@ void AliPHOSSDigitizer::SetSplitFile(const TString splitFileName)
 
   gAlice->MakeTree("S",fSplitFile);
   cwd->cd() ; 
+  cout << "INFO: AliPHOSSDigitizer::SetSPlitMode -> SDigits will be stored in " << splitFileName.Data() << endl ; 
 }
 
 //__________________________________________________________________