]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONRawStreamTracker.h
Updated comments for Doxygen
[u/mrichter/AliRoot.git] / MUON / AliMUONRawStreamTracker.h
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
8 /// \ingroup raw
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>
22 #include "AliMpBusPatch.h"
23
24 class AliRawReader;
25 class AliMUONDDLTracker;
26 class AliMUONBusStruct;
27 class AliMUONDspHeader;
28 class AliMUONBlockHeader;
29
30 class AliMUONRawStreamTracker: public TObject {
31   public :
32     AliMUONRawStreamTracker();
33     AliMUONRawStreamTracker(AliRawReader* rawReader);
34     AliMUONRawStreamTracker(const AliMUONRawStreamTracker& stream);
35     AliMUONRawStreamTracker& operator = (const AliMUONRawStreamTracker& stream);
36     virtual ~AliMUONRawStreamTracker();
37
38     virtual Bool_t   Next();
39     virtual Bool_t   NextDDL();
40     virtual void     ResetDDL();
41
42     Int_t GetMaxDDL()   const {return fMaxDDL;}
43     Int_t GetMaxBlock() const {return fMaxBlock;}
44     Int_t GetMaxDsp()   const {return fMaxDsp;}
45     Int_t GetMaxBus()   const {return fMaxBus;}
46
47     // check input before assigment
48     void SetMaxDDL(Int_t ddl);
49     void SetMaxBlock(Int_t blk);
50
51     // does not check, done via BusPatchManager
52     void SetMaxDsp(Int_t dsp) {fMaxDsp = dsp;}
53     void SetMaxBus(Int_t bus) {fMaxBus = bus;}
54
55
56     void SetReader(AliRawReader* rawReader) {fRawReader = rawReader;}
57
58     AliMUONBusStruct*       GetBusPatchInfo() const {return fBusStructPtr;}
59     AliMUONDDLTracker*      GetDDLTracker()   const {return fDDLTracker;}
60     Int_t                   GetDDL()          const {return fDDL - 1;}
61
62   protected :
63
64     AliRawReader*    fRawReader;    ///< object for reading the raw data
65  
66     Int_t  fDDL;          ///< number of DDL
67     Int_t  fBusPatchId;   ///< entry of buspatch structure
68     Int_t  fDspId;        ///< entry of Dsp header
69     Int_t  fBlkId;        ///< entry of Block header
70
71     Bool_t fNextDDL;      ///< flag for next DDL to be read
72
73     Int_t fMaxDDL;        ///< maximum number of DDL in DATE file
74     Int_t fMaxBlock;      ///< maximum number of block per DDL in DATE file
75     Int_t fMaxDsp;        ///< maximum number of Dsp per block in DATE file
76     Int_t fMaxBus;        ///< maximum number of Buspatch per Dsp in DATE file
77
78
79     AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL
80
81     AliMUONDDLTracker*      fDDLTracker;      //!< pointer for buspatch structure
82     AliMUONBusStruct*       fBusStruct;       //!< pointer for local structure
83     AliMUONBlockHeader*     fBlockHeader;     //!< pointer for block structure 
84     AliMUONDspHeader*       fDspHeader;       //!< pointer for dsp structure 
85
86     AliMUONBusStruct*       fBusStructPtr;    //!< pointer for local structure
87
88     ClassDef(AliMUONRawStreamTracker, 1)    // base class for reading MUON raw digits
89 };
90
91 #endif