]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawStream.h
Adding the cascade performance task (Antonin Maire)
[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
18
19class AliMUONRawStream: public TObject {
20 public :
21 AliMUONRawStream();
22 AliMUONRawStream(AliRawReader* rawReader);
23 virtual ~AliMUONRawStream();
24
25 /// Initialize iterator
26 virtual void First() {return;} // not yet virtual pure, waiting for trigger
27
28 /// DDL iterator
29 virtual Bool_t NextDDL() = 0;
30
31 /// Whether the iteration is finished or not
32 virtual Bool_t IsDone() const {return kTRUE;} // not yet virtual pure, waiting for trigger
33
34 /// add error message into error logger
35 virtual void AddErrorMessage() = 0;
36
37 /// Set object for reading the raw data
38 virtual void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;}
39
40 /// Get object for reading the raw data
41 virtual AliRawReader* GetReader() {return fRawReader;}
42
43 /// Enable error info logger
44 virtual void EnabbleErrorLogger() {fEnableErrorLogger = kTRUE;}
45
46 /// Check if error info logger enable
47 virtual Bool_t IsErrorLogger() const {return fEnableErrorLogger;}
48
49 /// swap method for Power PC
50 virtual void Swap(UInt_t *buffer, Int_t size) const;
51
52
53 private :
54 /// Not implemented
55 AliMUONRawStream(const AliMUONRawStream& stream);
56 /// Not implemented
57 AliMUONRawStream& operator = (const AliMUONRawStream& stream);
58
59 typedef struct {
60 UInt_t b1:8; ///< first byte word
61 UInt_t b2:8; ///< second byte word
62 UInt_t b3:8; ///< third byte word
63 UInt_t b4:8; ///< fourth byte word
64 } RawWord;
65
66 AliRawReader* fRawReader; //!< object for reading the raw data
67 Bool_t fEnableErrorLogger; //!< flag to enable the error info logger
68
69 ClassDef(AliMUONRawStream, 1) // base class for reading MUON raw digits
70};
71
72#endif