]> git.uio.no Git - u/mrichter/AliRoot.git/blob - RAW/AliRawData.h
bugfix
[u/mrichter/AliRoot.git] / RAW / AliRawData.h
1 #ifndef ALIRAWDATA_H
2 #define ALIRAWDATA_H
3 // @(#) $Id$
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 // AliRawData                                                           //
12 //                                                                      //
13 //////////////////////////////////////////////////////////////////////////
14
15 #ifndef ROOT_TObject
16 #include <TObject.h>
17 #endif
18
19
20 class AliRawData : public TObject {
21
22 public:
23    AliRawData();
24    virtual ~AliRawData() { if (fOwner) delete [] fRawData; }
25
26    inline void SetBuffer(void *buf, Int_t size);
27    Int_t       GetSize() const { return fSize; }
28    void       *GetBuffer() { return fRawData; }
29
30 private:
31    Int_t   fSize;         // number of raw data bytes
32    char   *fRawData;      //[fSize] raw event data
33    Bool_t  fOwner;        //!if true object owns fRawData buffer
34
35    AliRawData(const AliRawData &);
36    AliRawData &operator=(const AliRawData &);
37
38    ClassDef(AliRawData,2)  // Alice raw event buffer
39 };
40
41 void AliRawData::SetBuffer(void *buf, Int_t size)
42 {
43    if (fOwner) delete [] fRawData;
44    fRawData = (char *) buf;
45    fSize    = size;
46    fOwner   = kFALSE;
47 }
48
49 #endif