Line data Source code
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 6784 : virtual ~AliRawData() { if (fOwner) delete [] fRawData; }
25 :
26 : inline void SetBuffer(void *buf, Int_t size);
27 3880 : Int_t GetSize() const { return fSize; }
28 7760 : 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 3374 : ClassDef(AliRawData,2) // Alice raw event buffer
39 : };
40 :
41 : void AliRawData::SetBuffer(void *buf, Int_t size)
42 : {
43 3665 : if (fOwner) delete [] fRawData;
44 1621 : fRawData = (char *) buf;
45 1621 : fSize = size;
46 1621 : fOwner = kFALSE;
47 1621 : }
48 :
49 : #endif
|