]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONRawStreamTracker.h
- Adding option for ownership of sector
[u/mrichter/AliRoot.git] / MUON / AliMUONRawStreamTracker.h
CommitLineData
c0751163 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
241560c2 8/// \ingroup base
c0751163 9/// \class AliMUONRawStreamTracker
10/// \brief Class for reading MUON raw digits
11///
12/// \author Christian Finck
13///
14///////////////////////////////////////////////////////////////////////////////
15///
16/// This class provides access to MUON digits in raw data.
17///
18///////////////////////////////////////////////////////////////////////////////
19
20#include <TObject.h>
21#include <TClonesArray.h>
313a427d 22#include "AliMUONPayloadTracker.h"
c0751163 23
24class AliRawReader;
25class AliMUONDDLTracker;
313a427d 26
c0751163 27
28class AliMUONRawStreamTracker: public TObject {
29 public :
30 AliMUONRawStreamTracker();
31 AliMUONRawStreamTracker(AliRawReader* rawReader);
c0751163 32 virtual ~AliMUONRawStreamTracker();
33
34 virtual Bool_t Next();
35 virtual Bool_t NextDDL();
c0751163 36
37 Int_t GetMaxDDL() const {return fMaxDDL;}
313a427d 38 Int_t GetMaxBlock() const {return fPayload->GetMaxBlock();}
39 Int_t GetMaxDsp() const {return fPayload->GetMaxDsp();}
40 Int_t GetMaxBus() const {return fPayload->GetMaxBus();}
c0751163 41
42 // check input before assigment
43 void SetMaxDDL(Int_t ddl);
44 void SetMaxBlock(Int_t blk);
45
46 // does not check, done via BusPatchManager
313a427d 47 void SetMaxDsp(Int_t dsp) {fPayload->SetMaxDsp(dsp);}
48 void SetMaxBus(Int_t bus) {fPayload->SetMaxBus(bus);}
c0751163 49
50
51 void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;}
52
313a427d 53 AliMUONDDLTracker* GetDDLTracker() const {return fPayload->GetDDLTracker();}
c0751163 54 Int_t GetDDL() const {return fDDL - 1;}
55
9f5dcca3 56 private :
c0751163 57
829425a5 58 AliRawReader* fRawReader; ///< object for reading the raw data
c0751163 59
829425a5 60 Int_t fDDL; ///< number of DDL
61 Int_t fBusPatchId; ///< entry of buspatch structure
62 Int_t fDspId; ///< entry of Dsp header
63 Int_t fBlkId; ///< entry of Block header
c0751163 64
829425a5 65 Bool_t fNextDDL; ///< flag for next DDL to be read
c0751163 66
313a427d 67 Int_t fMaxDDL; ///< maximum number of DDL in DATE file
c0751163 68
313a427d 69 AliMUONPayloadTracker* fPayload; ///< pointer to payload decoder
c0751163 70
9f5dcca3 71 AliMUONRawStreamTracker(const AliMUONRawStreamTracker& stream);
72 AliMUONRawStreamTracker& operator = (const AliMUONRawStreamTracker& stream);
73
313a427d 74 ClassDef(AliMUONRawStreamTracker, 2) // base class for reading MUON raw digits
c0751163 75};
76
77#endif