AliRunLoader::~AliRunLoader()
{
//dtor
- if (fgRunLoader == this) fgRunLoader = 0x0;
+
UnloadHeader();
UnloadgAlice();
-
+ if (fgRunLoader == this) fgRunLoader = 0x0;
if(fLoaders) {
fLoaders->SetOwner();
delete fLoaders;
//fEventFolder is deleted by the way of removing - TopAliceFolder owns it
if( fCTrigger ) delete fCTrigger;
- delete fHeader;
delete fStack;
delete fGAFile;
}
// create the CTP Trigger output file and tree
TFile* file = gROOT->GetFile( fgkDefaultTriggerFileName );
if( !file ) {
- file = TFile::Open( gSystem->ConcatFileName( fUnixDirName.Data(), fgkDefaultTriggerFileName.Data() ), "RECREATE" ) ;
+ char* tmp = gSystem->ConcatFileName( fUnixDirName.Data(), fgkDefaultTriggerFileName.Data() );
+ file = TFile::Open(tmp , "RECREATE" ) ;
+ delete[] tmp;
}
file->cd();
Int_t AliRunLoader::LoadTrigger(Option_t* option)
{
//Load treeCT
-
+ static Bool_t warned = kFALSE;
if( TreeCT() ) {
- AliWarning("Trigger is already loaded. Nothing done");
+ if (!warned) AliWarning("Trigger is already loaded. Nothing done. Message will not be repeated.");
+ warned = kTRUE;
return 0;
}
return 1;
}
// get the CTP Trigger output file and tree
- TString trgfile = gSystem->ConcatFileName( fUnixDirName.Data(),
- fgkDefaultTriggerFileName.Data() );
+ char* tmp = gSystem->ConcatFileName( fUnixDirName.Data(),
+ fgkDefaultTriggerFileName.Data() );
+ TString trgfile(tmp);
+ delete[] tmp;
+
TFile* file = gROOT->GetFile( trgfile );
if( !file ) {
file = TFile::Open( trgfile, option ) ;
//removes TreeE from folder and deletes it
// as well as fHeader object
CleanHeader();
- delete fHeader;
fHeader = 0x0;
}
/**************************************************************************/