Update master to aliroot
[u/mrichter/AliRoot.git] / STEER / STEER / AliFstream.h
CommitLineData
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>
840f6973 17using std::fstream;
18de460b 18
19class AliFstream : public TObject {
20public:
21 AliFstream();
22 AliFstream(const char *fileName);
18de460b 23 virtual ~AliFstream();
24
41008432 25 void Seekp(UInt_t position);
26 UInt_t Tellp();
18de460b 27 void WriteBuffer(const char *buffer, UInt_t size, Bool_t force = kFALSE);
28
29private:
30
f3c1e83c 31 AliFstream(const AliFstream &source);
32 AliFstream &operator =(const AliFstream& source);
33
e3adf4cb 34 UInt_t Swap(UInt_t x);
35
18de460b 36 fstream *fFile; // Output file stream
e3adf4cb 37 UInt_t *fBuffer; // Pointer to the internal buffer
18de460b 38 UInt_t fBufferSize; // Internal buffer size
18de460b 39
40 ClassDef(AliFstream,0)
41};
42
43#endif