]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONPayloadTracker.h
Comments for Doxygen (mostly added comments for inline functions)
[u/mrichter/AliRoot.git] / MUON / AliMUONPayloadTracker.h
1 #ifndef ALIMUONPAYLOADTRACKER_H
2 #define ALIMUONPAYLOADTRACKER_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 AliMUONPayloadTracker
10 /// \brief Class for decoding the payload for tracker raw data 
11 ///
12 //  Author Christian Finck
13
14 #include <TObject.h>
15
16 class AliMUONDDLTracker;
17 class AliMUONBusStruct;
18 class AliMUONDspHeader;
19 class AliMUONBlockHeader;
20
21 class AliMUONPayloadTracker: public TObject {
22   public :
23     AliMUONPayloadTracker();
24     virtual ~AliMUONPayloadTracker();
25
26     /// Return maximum number of block per DDL in DATE file
27     Int_t GetMaxBlock() const {return fMaxBlock;}
28     /// Return maximum number of Dsp per block in DATE file
29     Int_t GetMaxDsp()   const {return fMaxDsp;}
30     /// Return maximum number of Buspatch per Dsp in DATE file
31     Int_t GetMaxBus()   const {return fMaxBus;}
32
33     // check input before assigment
34     void SetMaxBlock(Int_t blk);
35
36     /// \brief Set maximum number of Dsp per block in DATE file
37     /// does not check, done via BusPatchManager
38     void SetMaxDsp(Int_t dsp) {fMaxDsp = dsp;}
39     /// \brief Set maximum number of Buspatch per Dsp in DATE file
40     /// does not check, done via BusPatchManager
41     void SetMaxBus(Int_t bus) {fMaxBus = bus;}
42
43     void ResetDDL();
44
45     Bool_t Decode(UInt_t* buffer, Int_t datasize);
46
47     /// Return pointer for local structure
48     AliMUONBusStruct*       GetBusPatchInfo() const {return fBusStruct;}
49     /// Return pointer for buspatch structure
50     AliMUONDDLTracker*      GetDDLTracker()   const {return fDDLTracker;}
51
52   private :
53     /// Not implemented
54     AliMUONPayloadTracker(const AliMUONPayloadTracker& stream);
55     /// Not implemented
56     AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream);
57
58     Bool_t CheckDataParity();
59
60     Int_t  fBusPatchId;   ///< entry of buspatch structure
61     Int_t  fDspId;        ///< entry of Dsp header
62     Int_t  fBlkId;        ///< entry of Block header
63
64     Int_t fMaxDDL;        ///< maximum number of DDL in DATE file
65     Int_t fMaxBlock;      ///< maximum number of block per DDL in DATE file
66     Int_t fMaxDsp;        ///< maximum number of Dsp per block in DATE file
67     Int_t fMaxBus;        ///< maximum number of Buspatch per Dsp in DATE file
68
69     AliMUONDDLTracker*      fDDLTracker;      //!< pointer for buspatch structure
70     AliMUONBusStruct*       fBusStruct;       //!< pointer for local structure
71     AliMUONBlockHeader*     fBlockHeader;     //!< pointer for block structure 
72     AliMUONDspHeader*       fDspHeader;       //!< pointer for dsp structure 
73
74     ClassDef(AliMUONPayloadTracker, 1)    // base class for reading MUON raw digits
75 };
76
77 #endif