X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=RAW%2FAliRawReaderFile.cxx;h=92b5d850f477439f49cae0232734aefd8ea7486d;hb=d9298a37a95d0f1528073c176af29ed5ce5961bc;hp=42f72f06a586af0dbd0319f6a1dc77ba41a3903e;hpb=4ba2879627f7a8933ab779886383639474f82ad6;p=u%2Fmrichter%2FAliRoot.git diff --git a/RAW/AliRawReaderFile.cxx b/RAW/AliRawReaderFile.cxx index 42f72f06a58..92b5d850f47 100644 --- a/RAW/AliRawReaderFile.cxx +++ b/RAW/AliRawReaderFile.cxx @@ -37,6 +37,7 @@ #include +using std::ios; ClassImp(AliRawReaderFile) @@ -60,7 +61,8 @@ AliRawReaderFile::AliRawReaderFile(Int_t eventNumber) : // in the current directory fDirectory = OpenDirectory(); - OpenNextFile(); + if (!fDirectory) fIsValid = kFALSE; + if (!OpenNextFile()) fIsValid = kFALSE; fHeader = new AliRawDataHeader; fId[0] = fId[1] = 0; @@ -86,7 +88,8 @@ AliRawReaderFile::AliRawReaderFile(const char* dirName, Int_t eventNumber) : // create an object to read digits from the given directory fDirectory = OpenDirectory(); - OpenNextFile(); + if (!fDirectory) fIsValid = kFALSE; + if (fEventIndex >= 0 && (!OpenNextFile())) fIsValid = kFALSE; fHeader = new AliRawDataHeader; fId[0] = fId[1] = 0; @@ -163,9 +166,14 @@ Bool_t AliRawReaderFile::CreateFileIndex() fDDLIndex=new TArrayC(0); if (!fDDLIndex) return kFALSE; TString entry; - while (entry = gSystem->GetDirEntry(fDirectory)) { + while ((entry = gSystem->GetDirEntry(fDirectory))) { const char* filename=entry.Data(); if (!filename || entry.IsNull()) break; + if (entry.BeginsWith("run")) { + entry.ReplaceAll("run",""); + fRunNb = entry.Atoi(); + continue; + } if (!entry.EndsWith(".ddl")) continue; result=kTRUE; entry.Remove(0, entry.Last('_')+1);