X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=TPC%2FAliTPCLaserTrack.cxx;h=90647989df14d99d31c12067cd117a899eb317a6;hb=78f177112e6b31b31ade88aa645f1b231d52109a;hp=7a69d959a3401ec98c17cb03b1932f2d94bc4f62;hpb=ae3d971c76396488cd2a445bba6c87c4aa8a8579;p=u%2Fmrichter%2FAliRoot.git diff --git a/TPC/AliTPCLaserTrack.cxx b/TPC/AliTPCLaserTrack.cxx index 7a69d959a34..90647989df1 100644 --- a/TPC/AliTPCLaserTrack.cxx +++ b/TPC/AliTPCLaserTrack.cxx @@ -177,21 +177,31 @@ void AliTPCLaserTrack::LoadTracks() // if ( fgArrLaserTracks ) return; + TObjArray *arrLaserTracks = 0x0; AliCDBManager *man=AliCDBManager::Instance(); - if (!man->GetDefaultStorage()) man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); - if (man->GetRun()<0) man->SetRun(0); - AliCDBEntry *entry=man->Get(AliCDBPath("TPC/Calib/LaserTracks")); - TObjArray *arrLaserTracks = (TObjArray*)entry->GetObject(); - arrLaserTracks->SetOwner(); - entry->SetOwner(kTRUE); - + if (!man->GetDefaultStorage() && gSystem->Getenv("ALICE_ROOT")) man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); + if (man->GetDefaultStorage()){ + if (man->GetRun()<0) man->SetRun(0); + AliCDBEntry *entry=man->Get(AliCDBPath("TPC/Calib/LaserTracks")); + arrLaserTracks = (TObjArray*)entry->GetObject(); + entry->SetOwner(kTRUE); + } else { + if (!gSystem->AccessPathName("LaserTracks.root")){ + TFile f("LaserTracks.root"); + arrLaserTracks=(TObjArray*)f.Get("arrLaserTracks"); + f.Close(); + } + } if ( !arrLaserTracks ) { // AliWarning(Form("Could not get laser position data from file: '%s'",fgkDataFileName)); return; } + arrLaserTracks->SetOwner(); + fgArrLaserTracks = new TObjArray(fgkNLaserTracks); + fgArrLaserTracks->SetOwner(); for (Int_t itrack=0; itrackAt(itrack); if ( !ltr ){ @@ -201,6 +211,8 @@ void AliTPCLaserTrack::LoadTracks() ltr->UpdatePoints(); fgArrLaserTracks->AddAt(new AliTPCLaserTrack(*ltr),itrack); } + + delete arrLaserTracks; }