-//__________________________________________________________________
-void AliPHOSSDigitizer::SetSplitFile(const TString splitFileName)
-{
- // Diverts the SDigits in a file separate from the hits file
-
- TDirectory * cwd = gDirectory ;
-
- if ( !(gAlice->GetTreeSFileName() == splitFileName) ) {
- if (gAlice->GetTreeSFile() )
- gAlice->GetTreeSFile()->Close() ;
- }
-
- fSplitFile = gAlice->InitTreeFile("S",splitFileName.Data());
- fSplitFile->cd() ;
- if ( !fSplitFile->Get("gAlice") )
- gAlice->Write();
-
- TTree *treeE = gAlice->TreeE();
- if (!treeE) {
- cerr << "ERROR: AliPHOSSDigitizer::SetSPlitFile -> No TreeE found "<<endl;
- abort() ;
- }
-
- // copy TreeE
- if ( !fSplitFile->Get("TreeE") ) {
- AliHeader *header = new AliHeader();
- treeE->SetBranchAddress("Header", &header);
- treeE->SetBranchStatus("*",1);
- TTree *treeENew = treeE->CloneTree();
- treeENew->Write();
- }
-
- // copy AliceGeom
- if ( !fSplitFile->Get("AliceGeom") ) {
- TGeometry *AliceGeom = static_cast<TGeometry*>(cwd->Get("AliceGeom"));
- if (!AliceGeom) {
- cerr << "ERROR: AliPHOSSDigitizer::SetSPlitFile -> AliceGeom was not found in the input file "<<endl;
- abort() ;
- }
- AliceGeom->Write();
- }
-
- gAlice->MakeTree("S",fSplitFile);
- cwd->cd() ;
-}