]> git.uio.no Git - u/mrichter/AliRoot.git/blame - RAW/AliRawDB.h
Typos and error corrceted (Raffaele)
[u/mrichter/AliRoot.git] / RAW / AliRawDB.h
CommitLineData
a197a4ce 1#ifndef ALIRAWDB_H
2#define ALIRAWDB_H
60838f24 3// @(#)alimdc:$Name: $:$Id$
a197a4ce 4// Author: Fons Rademakers 26/11/99
5
6/* Copyright(c) 1998-2003, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
8
9//////////////////////////////////////////////////////////////////////////
10// //
11// AliRawDB //
12// //
13//////////////////////////////////////////////////////////////////////////
14
15#ifndef ROOT_TObject
16#include <TObject.h>
17#endif
18
19#ifndef ROOT_TFile
20#include <TFile.h>
21#endif
22
23#ifndef ROOT_TTree
24#include <TTree.h>
25#endif
26
e10815f1 27#ifndef ROOT_TString
28#include <TString.h>
29#endif
30
6605cb7a 31#include "AliDAQ.h"
a197a4ce 32
33// Forward class declarations
34class AliRawEvent;
6605cb7a 35class AliRawDataArray;
b7d09bb3 36class AliStats;
a197a4ce 37class TFile;
af885e0f 38class AliESDEvent;
a197a4ce 39
40class AliRawDB : public TObject {
41
42public:
a109e73e 43 AliRawDB(AliRawEvent *event,
af885e0f 44 AliESDEvent *esd,
e10815f1 45 Int_t compress,
a8b0468f 46 const char* fileName = NULL,
47 Int_t basketsize = 32000);
6605cb7a 48 virtual ~AliRawDB();
a197a4ce 49
50 virtual const char *GetOpenOption() const { return "RECREATE"; }
51 virtual Int_t GetNetopt() const { return 0; }
e10815f1 52 virtual Bool_t Create(const char* fileName = NULL);
d2450633 53 virtual Long64_t Close();
e10815f1 54 Int_t Fill();
60838f24 55 Long64_t GetTotalSize();
0cd3f979 56 Long64_t AutoSave();
a197a4ce 57
b7d09bb3 58 void WriteStats(AliStats* stats);
59
e10815f1 60 void SetMaxSize(Double_t maxSize) { fMaxSize = maxSize; }
61 void SetFS(const char* fs1, const char* fs2 = NULL);
62 void SetDeleteFiles(Bool_t deleteFiles = kTRUE) { fDeleteFiles = deleteFiles; }
63
64 Bool_t NextFile(const char* fileName = NULL);
a197a4ce 65
66 Double_t GetBytesWritten() const { return fRawDB->GetBytesWritten(); }
67 TFile *GetDB() const { return fRawDB; }
68 const char *GetDBName() const { return fRawDB->GetName(); }
69 Int_t GetEvents() const { return (Int_t) fTree->GetEntries(); }
70 AliRawEvent *GetEvent() const { return fEvent; }
71 Float_t GetCompressionFactor() const;
72 Int_t GetCompressionMode() const { return fRawDB->GetCompressionLevel(); }
a8b0468f 73 Int_t GetBasketSize() const { return fBasketSize; }
e10815f1 74 void Stop() { fStop = kTRUE; }
ee8f2a6c 75 static const char *GetAliRootTag();
581835ab 76 Bool_t WriteGuidFile(TString &guidFileFolder);
a197a4ce 77
78protected:
79 TFile *fRawDB; // DB to store raw data
80 TTree *fTree; // tree used to store raw data
81 AliRawEvent *fEvent; // AliRawEvent via which data is stored
30d59ac8 82 AliRawDataArray **fDetRawData[AliDAQ::kNDetectors+1]; // Detectors raw-data payload
a109e73e 83 TTree *fESDTree; // tree for storing HLT ESD information
af885e0f 84 AliESDEvent *fESD; // pointer to HLT ESD object
a197a4ce 85 Int_t fCompress; // compression mode (1 default)
a8b0468f 86 Int_t fBasketSize; // root i/o basket size (default = 32000)
a197a4ce 87 Double_t fMaxSize; // maximum size in bytes of the raw DB
e10815f1 88 TString fFS1; // first raw DB file system location
89 TString fFS2; // second raw DB file system location
90 Bool_t fDeleteFiles; // flag for deletion of files
91 Bool_t fStop; // stop execution (triggered by SIGUSR1)
ee8f2a6c 92 static const char *fgkAliRootTag; // string with the aliroot tag id
93
30d59ac8 94 static Int_t fgkDetBranches[AliDAQ::kNDetectors+1]; // Number of branches in each detector
95
a197a4ce 96 virtual const char *GetFileName() const;
97 virtual Bool_t FSHasSpace(const char *fs) const;
98 virtual void MakeTree();
99
100private:
101 AliRawDB(const AliRawDB& rawDB);
102 AliRawDB& operator = (const AliRawDB& rawDB);
103
a8b0468f 104 ClassDef(AliRawDB,4) // Raw DB
a197a4ce 105};
106
107#endif