X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONRawStream.h;h=47ba0ee50ae28a801edcf550ff47e0845621adbe;hb=b68c91e660030717bb2f3969f64906a98515ebeb;hp=44acef016d27b53d4c9c9f5367eac057ad469d91;hpb=692de412b81f16738d28897496efdbb2e9e1ba0a;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONRawStream.h b/MUON/AliMUONRawStream.h index 44acef016d2..47ba0ee50ae 100644 --- a/MUON/AliMUONRawStream.h +++ b/MUON/AliMUONRawStream.h @@ -1,19 +1,15 @@ #ifndef ALIMUONRAWSTREAM_H -#define ALITMUONAWSTREAM_H +#define ALIMUONRAWSTREAM_H /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ -/*$Id$*/ +// $Id$ -/// \ingroup rec +/// \ingroup raw /// \class AliMUONRawStream -/// \brief Class for reading MUON raw digits +/// \brief Base class for reading MUON raw digits /// -/////////////////////////////////////////////////////////////////////////////// -/// -/// This class provides access to MUON digits in raw data. -/// -/////////////////////////////////////////////////////////////////////////////// +// Author: Christian Finck #include @@ -22,27 +18,55 @@ class AliRawReader; class AliMUONRawStream: public TObject { public : + AliMUONRawStream(); AliMUONRawStream(AliRawReader* rawReader); - AliMUONRawStream(const AliMUONRawStream& stream); - AliMUONRawStream& operator = (const AliMUONRawStream& stream); virtual ~AliMUONRawStream(); - virtual Bool_t Next(); + /// Initialize iterator + virtual void First() {return;} // not yet virtual pure, waiting for trigger + + /// DDL iterator + virtual Bool_t NextDDL() = 0; + + /// Whether the iteration is finished or not + virtual Bool_t IsDone() const {return kTRUE;} // not yet virtual pure, waiting for trigger + + /// add error message into error logger + virtual void AddErrorMessage() = 0; + /// Set object for reading the raw data + virtual void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;} - protected : + /// Get object for reading the raw data + virtual AliRawReader* GetReader() {return fRawReader;} - AliRawReader* fRawReader; // object for reading the raw data + /// Enable error info logger + virtual void EnabbleErrorLogger() {fEnableErrorLogger = kTRUE;} - - static const Int_t fgkDataMax = 10000000; // size of array for uncompressed raw data - UShort_t* fData; // uncompressed raw data - Int_t fDataSize; // actual size of the uncompressed raw data - Int_t fPosition; // current position in fData - Int_t fCount; // counter of words to be read for current trailer + /// Check if error info logger enable + virtual Bool_t IsErrorLogger() const {return fEnableErrorLogger;} + + /// swap method for Power PC + virtual void Swap(UInt_t *buffer, Int_t size) const; + + + private : + /// Not implemented + AliMUONRawStream(const AliMUONRawStream& stream); + /// Not implemented + AliMUONRawStream& operator = (const AliMUONRawStream& stream); + typedef struct { + UInt_t b1:8; ///< first byte word + UInt_t b2:8; ///< second byte word + UInt_t b3:8; ///< third byte word + UInt_t b4:8; ///< fourth byte word + } RawWord; - ClassDef(AliMUONRawStream, 0) // base class for reading MUON raw digits + AliRawReader* fRawReader; //!< object for reading the raw data + Bool_t fEnableErrorLogger; //!< flag to enable the error info logger + + ClassDef(AliMUONRawStream, 1) // base class for reading MUON raw digits }; #endif