]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliRawNullDB.cxx
Correct init of the raw reader in case of using directly AliAltroRawStream
[u/mrichter/AliRoot.git] / RAW / AliRawNullDB.cxx
1 // @(#)alimdc:$Name$:$Id$
2 // Author: Fons Rademakers  26/11/99
3
4 /**************************************************************************
5  * Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
6  *                                                                        *
7  * Author: The ALICE Off-line Project.                                    *
8  * Contributors are mentioned in the code where appropriate.              *
9  *                                                                        *
10  * Permission to use, copy, modify and distribute this software and its   *
11  * documentation strictly for non-commercial purposes is hereby granted   *
12  * without fee, provided that the above copyright notice appears in all   *
13  * copies and that both the copyright notice and this permission notice   *
14  * appear in the supporting documentation. The authors make no claims     *
15  * about the suitability of this software for any purpose. It is          *
16  * provided "as is" without express or implied warranty.                  *
17  **************************************************************************/
18
19 //////////////////////////////////////////////////////////////////////////
20 //                                                                      //
21 // AliRawNullDB                                                         //
22 //                                                                      //
23 //////////////////////////////////////////////////////////////////////////
24
25 #include "AliRawNullDB.h"
26
27
28 ClassImp(AliRawNullDB)
29
30
31 //______________________________________________________________________________
32 AliRawNullDB::AliRawNullDB(AliRawEvent *event,
33                            AliESD *esd,
34                            Int_t compress,
35                            const char* fileName)
36    : AliRawDB(event, esd, compress, fileName)
37 {
38    // Create a new raw DB that will wrtie to /dev/null.
39
40 }
41
42 //______________________________________________________________________________
43 const char *AliRawNullDB::GetFileName() const
44 {
45    // Return /dev/null as filename.
46
47    return "/dev/null";
48 }
49
50 //______________________________________________________________________________
51 Int_t AliRawNullDB::Close()
52 {
53    // Close raw RFIO DB.
54
55    if (!fRawDB) return 0;
56
57    if (!fRawDB->IsOpen()) return 0;
58
59    fRawDB->cd();
60
61    // Write the tree.
62    Bool_t error = kFALSE;
63    if (fTree->Write() == 0)
64      error = kTRUE;
65    if (fESDTree)
66      if (fESDTree->Write() == 0)
67        error = kTRUE;
68
69    // Close DB, this also deletes the fTree
70    fRawDB->Close();
71
72    Int_t filesize = fRawDB->GetEND();
73
74    delete fRawDB;
75    fRawDB = 0;
76    if(!error)
77      return filesize;
78    else
79      return -1;
80 }