AliRoot Core  v5-06-15 (45dab64)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONRawStreamTracker.h
Go to the documentation of this file.
1 #ifndef ALIMUONRAWSTREAMTRACKER_H
2 #define ALIMUONRAWSTREAMTRACKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
6 /*$Id$*/
7 
12 // Author: Christian Finck
13 
14 #include <TObject.h>
15 #include "AliMUONPayloadTracker.h"
17 
18 class AliRawReader;
19 class AliMUONDDLTracker;
20 class AliMUONDspHeader;
21 class AliMUONBusStruct;
22 class AliMUONBlockHeader;
23 
25  public :
27  AliMUONRawStreamTracker(TRootIOCtor* dummy);
28  AliMUONRawStreamTracker(AliRawReader* rawReader);
29  virtual ~AliMUONRawStreamTracker();
30 
32  void First();
33 
36 
39 
42 
45 
47  virtual Bool_t Next(Int_t& busPatchId,
48  UShort_t& manuId, UChar_t& manuChannel,
49  UShort_t& adc);
50 
51  virtual Bool_t NextDDL();
52 
54  Int_t GetMaxBlock() const {return fPayload->GetMaxBlock();}
56  Int_t GetMaxDsp() const {return fPayload->GetMaxDsp();}
58  Int_t GetMaxBus() const {return fPayload->GetMaxBus();}
59 
60  // check input before assigment
61  void SetMaxBlock(Int_t blk);
62 
65  void SetMaxDsp(Int_t dsp) {fPayload->SetMaxDsp(dsp);}
68  void SetMaxBus(Int_t bus) {fPayload->SetMaxBus(bus);}
69 
72 
74  Int_t GetDDL() const {return fDDL - 1;}
75 
77  Int_t GetCurentDDL() const {return fCurrentDDLIndex;}
78 
81 
83  Bool_t IsDone() const;
84 
86  void AddErrorMessage();
87 
90 
92  Bool_t IsErrorMessage() const;
93 
96  kGlitchErr = 1,
99  };
100 
101  private :
106 
107  Bool_t GetNextDDL();
108  Bool_t GetNextBlockHeader();
109  Bool_t GetNextDspHeader();
110  Bool_t GetNextBusStruct();
111 
112 
113  private:
114 
125  Int_t fDDL;
126 
127  ClassDef(AliMUONRawStreamTracker, 4) // base class for reading MUON raw digits
128 };
129 
130 #endif
AliMUONDspHeader * fCurrentDspHeader
! for iterator: current dsp ptr
Int_t GetCurentDDL() const
Return current DDL index.
Int_t fCurrentBusStructIndex
! for iterator: current bus index
AliMUONBlockHeader * fCurrentBlockHeader
! for iterator: current block ptr
MUON DDL tracker.
AliMUONDDLTracker * CurrentDDL() const
Returns current DDL object during iteration.
AliMUONPayloadTracker * GetPayLoad() const
Return pointer for payload.
Int_t GetMaxBlock() const
Return maximum number of block per DDL in DATE file.
virtual Bool_t Next(Int_t &busPatchId, UShort_t &manuId, UChar_t &manuChannel, UShort_t &adc)
Advance one step in the iteration. Returns false if finished.
MUON DSP header for tracker event.
Int_t GetMaxBlock() const
Return maximum number of block per DDL in DATE file.
Class for decoding the payload for tracker raw data.
void SetMaxBlock(Int_t blk)
Set maximum number of blocks per DDL allowed.
void SetMaxDsp(Int_t dsp)
Set maximum number of Dsp per block in DATE file does not check, done via BusPatchManager.
Int_t GetDDL() const
Return number of DDL.
AliMUONBusStruct * CurrentBusStruct() const
Returns current BusStruct object during iteration.
AliMUONDDLTracker * GetDDLTracker() const
Return pointer for DDL.
AliMUONBusStruct * fCurrentBusStruct
! for iterator: current bus ptr
AliMUONDDLTracker * fCurrentDDL
! for iterator: current ddl ptr
Int_t GetMaxBus() const
Return maximum number of Buspatch per Dsp in DATE file.
AliMUONBlockHeader * CurrentBlockHeader() const
Returns current BlockHeader object during iteration.
Class for reading MUON raw digits.
Int_t GetMaxDsp() const
Return maximum number of Dsp per block in DATE file.
virtual Bool_t NextDDL()
DDL iterator.
Int_t GetMaxBus() const
Return maximum number of Buspatch per Dsp in DATE file.
AliMUONDspHeader * CurrentDspHeader() const
Returns current DspHeader object during iteration.
void DisableWarnings()
set warnings flag
Int_t fCurrentDspHeaderIndex
! for iterator: current dsp index
Bool_t IsDone() const
Whether the iteration is finished or not.
This class is the base class for raw stream decoders than need to deal with raw data coming from the ...
Int_t fCurrentDataIndex
! for iterator: current data index
void DisableWarnings()
Disable Warnings.
Int_t fCurrentBlockHeaderIndex
! for iterator: current block index
Int_t fCurrentDDLIndex
! for iterator: current ddl index
Bool_t IsErrorMessage() const
check error/Warning presence
MUON block (Crocus CRT) header for tracker event.
void SetMaxBus(Int_t bus)
Set maximum number of Buspatch per Dsp in DATE file does not check, done via BusPatchManager.
Declaration of the abstract base class for muon trigger chamber raw stream decoders.
void First()
Initialize iterator.
AliMUONDDLTracker * GetDDLTracker() const
Return pointer for buspatch structure.
void AddErrorMessage()
add error message into error logger
Int_t GetMaxDsp() const
Return maximum number of Dsp per block in DATE file.
MUON buspatch structure for tracker.
AliMUONRawStreamTracker & operator=(const AliMUONRawStreamTracker &stream)
Not implemented.
AliMUONPayloadTracker * fPayload
pointer to payload decoder