]>
Commit | Line | Data |
---|---|---|
18de460b | 1 | #ifndef ALIFSTREAM_H |
2 | #define ALIFSTREAM_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
6 | //------------------------------------------------------------------------- | |
7 | // This is the class which is to be used during the writing of | |
8 | // simulated raw data (DDL files format). | |
9 | // It is using the root functionality in order to deal correctly | |
10 | // with little/big endian issue. By convention the detector raw | |
11 | // data payload is stored always with little endian (this corresponds | |
12 | // to the real life situation when the detector data is coming from | |
13 | // the hardware). | |
14 | //------------------------------------------------------------------------- | |
15 | ||
16 | #include <TObject.h> | |
17 | ||
18 | class AliFstream : public TObject { | |
19 | public: | |
20 | AliFstream(); | |
21 | AliFstream(const char *fileName); | |
22 | AliFstream(const AliFstream &source); | |
23 | AliFstream& operator= (const AliFstream &source); | |
24 | virtual ~AliFstream(); | |
25 | ||
41008432 | 26 | void Seekp(UInt_t position); |
27 | UInt_t Tellp(); | |
18de460b | 28 | void WriteBuffer(const char *buffer, UInt_t size, Bool_t force = kFALSE); |
29 | ||
30 | private: | |
31 | ||
32 | fstream *fFile; // Output file stream | |
33 | UChar_t *fBuffer; // Pointer to the internal buffer | |
34 | UInt_t fBufferSize; // Internal buffer size | |
35 | Bool_t fSwap; // Big or little endian | |
36 | ||
37 | ClassDef(AliFstream,0) | |
38 | }; | |
39 | ||
40 | #endif |