Allowed "/" in the file name (continued)
authorschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Feb 2002 13:18:53 +0000 (13:18 +0000)
committerschutz <schutz@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Feb 2002 13:18:53 +0000 (13:18 +0000)
PHOS/AliPHOSGetter.cxx

index f634efc1487c1f0ff92e20c6e8e41578dffb5b48..094d0a30b944df655dae5d318e410b2c26e35174 100644 (file)
@@ -1536,8 +1536,12 @@ void AliPHOSGetter::ReadTreeS(Int_t event)
   TCollection * folderslist = phosF->GetListOfFolders() ; 
   
   //Add current file to list if it is not there yet
-  if ( (fHeaderFile != "aliroot") && ( !folderslist->Contains(fHeaderFile) ) ){
-    phosF->AddFolder(fHeaderFile, ""); 
+  
+  TString subdir(fHeaderFile) ;
+  subdir.ReplaceAll("/","_") ; 
+
+  if ( (subdir != "aliroot") && ( !folderslist->Contains(subdir) ) ){
+    phosF->AddFolder(subdir, ""); 
   }
     
   TIter next(folderslist) ; 
@@ -1545,10 +1549,12 @@ void AliPHOSGetter::ReadTreeS(Int_t event)
   TFile * file; 
   TTree * treeS = 0;
   while ( (folder = static_cast<TFolder*>(next())) ) {
-    if(fHeaderFile.CompareTo(folder->GetName()) == 0 ) 
+    TString fileName(folder->GetName()) ; 
+    fileName.ReplaceAll("_","/") ; 
+    if(fHeaderFile.CompareTo(fileName) == 0 ) 
       treeS=gAlice->TreeS() ;
     else{
-      file = static_cast<TFile*>(gROOT->GetFile(folder->GetName())); 
+      file = static_cast<TFile*>(gROOT->GetFile(fileName)); 
       file->cd() ;
       
       // Get SDigits Tree header from file
@@ -1609,7 +1615,9 @@ void AliPHOSGetter::ReadTreeS(Int_t event)
   next.Reset();
   folder = static_cast<TFolder*>(next());
   if(folder){
-    file   = static_cast<TFile*>(gROOT->GetFile(folder->GetName())); 
+    TString fileName(folder->GetName()) ; 
+    fileName.ReplaceAll("_","/") ; 
+    file   = static_cast<TFile*>(gROOT->GetFile(fileName)); 
     file   ->cd() ;
   }
   
@@ -1831,8 +1839,9 @@ TObject * AliPHOSGetter::ReturnO(TString what, TString name, TString file) const
     if (folder) 
       phosO  = dynamic_cast<TObject *>(folder->FindObject("Hits")) ;  
   }
-  else if ( what.CompareTo("SDigits") == 0 ) { 
-    TString path = "PHOS/" + file  ; 
+  else if ( what.CompareTo("SDigits") == 0 ) {
+    file.ReplaceAll("/","_") ; 
+    TString path = "PHOS/" + file  ;
     folder = dynamic_cast<TFolder *>(fSDigitsFolder->FindObject(path.Data())) ; 
     if (folder) { 
       if (name.IsNull())