]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawStream.h
Fixing BUFFER_SIZE_WARNING defect (generated by previous fix)
[u/mrichter/AliRoot.git] / MUON / AliMUONRawStream.h
CommitLineData
485f017e 1#ifndef ALIMUONRAWSTREAM_H
2#define ALIMUONRAWSTREAM_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
bf4d93eb 6// $Id$
485f017e 7
8/// \ingroup raw
9/// \class AliMUONRawStream
10/// \brief Base class for reading MUON raw digits
11///
12// Author: Christian Finck
13
14#include <TObject.h>
15
16class AliRawReader;
17
485f017e 18class AliMUONRawStream: public TObject {
19 public :
20 AliMUONRawStream();
21 AliMUONRawStream(AliRawReader* rawReader);
22 virtual ~AliMUONRawStream();
23
24 /// Initialize iterator
25 virtual void First() {return;} // not yet virtual pure, waiting for trigger
26
27 /// DDL iterator
28 virtual Bool_t NextDDL() = 0;
29
30 /// Whether the iteration is finished or not
31 virtual Bool_t IsDone() const {return kTRUE;} // not yet virtual pure, waiting for trigger
32
33 /// add error message into error logger
34 virtual void AddErrorMessage() = 0;
35
36 /// Set object for reading the raw data
37 virtual void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;}
38
39 /// Get object for reading the raw data
40 virtual AliRawReader* GetReader() {return fRawReader;}
41
42 /// Enable error info logger
43 virtual void EnabbleErrorLogger() {fEnableErrorLogger = kTRUE;}
44
45 /// Check if error info logger enable
46 virtual Bool_t IsErrorLogger() const {return fEnableErrorLogger;}
47
48 /// swap method for Power PC
49 virtual void Swap(UInt_t *buffer, Int_t size) const;
50
51
52 private :
53 /// Not implemented
54 AliMUONRawStream(const AliMUONRawStream& stream);
55 /// Not implemented
56 AliMUONRawStream& operator = (const AliMUONRawStream& stream);
57
58 typedef struct {
9ee1d6ff 59 UInt_t fB1:8; ///< first byte word
60 UInt_t fB2:8; ///< second byte word
61 UInt_t fB3:8; ///< third byte word
62 UInt_t fB4:8; ///< fourth byte word
485f017e 63 } RawWord;
64
65 AliRawReader* fRawReader; //!< object for reading the raw data
66 Bool_t fEnableErrorLogger; //!< flag to enable the error info logger
67
68 ClassDef(AliMUONRawStream, 1) // base class for reading MUON raw digits
69};
70
71#endif