]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RAW/AliRawNullDB.cxx
Record changes.
[u/mrichter/AliRoot.git] / RAW / AliRawNullDB.cxx
index 25c65efa3f21d6eb59752c4498c09b4b27c43573..f1bc318a89de13453b65b115fb7e942122ff9f74 100644 (file)
@@ -30,20 +30,13 @@ ClassImp(AliRawNullDB)
 
 //______________________________________________________________________________
 AliRawNullDB::AliRawNullDB(AliRawEvent *event,
-#ifdef USE_HLT
-                          AliESD *esd,
-#endif
-                          Double_t maxsize, Int_t compress)
-   : AliRawDB(event,
-#ifdef USE_HLT
-             esd,
-#endif
-             maxsize, compress, kFALSE)
+                          AliESDEvent *esd,
+                          Int_t compress,
+                          const char* fileName)
+   : AliRawDB(event, esd, compress, fileName)
 {
    // Create a new raw DB that will wrtie to /dev/null.
 
-   if (!Create())
-      MakeZombie();
 }
 
 //______________________________________________________________________________
@@ -55,20 +48,33 @@ const char *AliRawNullDB::GetFileName() const
 }
 
 //______________________________________________________________________________
-void AliRawNullDB::Close()
+Int_t AliRawNullDB::Close()
 {
    // Close raw RFIO DB.
 
-   if (!fRawDB) return;
+   if (!fRawDB) return 0;
+
+   if (!fRawDB->IsOpen()) return 0;
 
    fRawDB->cd();
 
    // Write the tree.
-   fTree->Write();
+   Bool_t error = kFALSE;
+   if (fTree->Write() == 0)
+     error = kTRUE;
+   if (fESDTree)
+     if (fESDTree->Write() == 0)
+       error = kTRUE;
 
    // Close DB, this also deletes the fTree
    fRawDB->Close();
 
+   Int_t filesize = fRawDB->GetEND();
+
    delete fRawDB;
    fRawDB = 0;
+   if(!error)
+     return filesize;
+   else
+     return -1;
 }