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 */
9 /// \class AliMUONPayloadTracker
10 /// \brief Class for decoding trackerrawdata
12 /// \author Christian Finck
14 ///////////////////////////////////////////////////////////////////////////////
16 /// This class decode the payload for tracker raw data.
18 ///////////////////////////////////////////////////////////////////////////////
21 #include <TClonesArray.h>
22 #include "AliMpBusPatch.h"
24 class AliMUONDDLTracker;
25 class AliMUONBusStruct;
26 class AliMUONDspHeader;
27 class AliMUONBlockHeader;
29 class AliMUONPayloadTracker: public TObject {
31 AliMUONPayloadTracker();
32 AliMUONPayloadTracker(const AliMUONPayloadTracker& stream);
33 AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream);
34 virtual ~AliMUONPayloadTracker();
37 Int_t GetMaxBlock() const {return fMaxBlock;}
38 Int_t GetMaxDsp() const {return fMaxDsp;}
39 Int_t GetMaxBus() const {return fMaxBus;}
41 // check input before assigment
42 void SetMaxBlock(Int_t blk);
44 // does not check, done via BusPatchManager
45 void SetMaxDsp(Int_t dsp) {fMaxDsp = dsp;}
46 void SetMaxBus(Int_t bus) {fMaxBus = bus;}
50 Bool_t Decode(UInt_t* buffer, Int_t ddl);
52 AliMUONBusStruct* GetBusPatchInfo() const {return fBusStruct;}
53 AliMUONDDLTracker* GetDDLTracker() const {return fDDLTracker;}
58 Int_t fBusPatchId; ///< entry of buspatch structure
59 Int_t fDspId; ///< entry of Dsp header
60 Int_t fBlkId; ///< entry of Block header
62 Int_t fMaxDDL; ///< maximum number of DDL in DATE file
63 Int_t fMaxBlock; ///< maximum number of block per DDL in DATE file
64 Int_t fMaxDsp; ///< maximum number of Dsp per block in DATE file
65 Int_t fMaxBus; ///< maximum number of Buspatch per Dsp in DATE file
68 AliMpBusPatch* fBusPatchManager; //!< buspatch versus DE's & DDL
70 AliMUONDDLTracker* fDDLTracker; //!< pointer for buspatch structure
71 AliMUONBusStruct* fBusStruct; //!< pointer for local structure
72 AliMUONBlockHeader* fBlockHeader; //!< pointer for block structure
73 AliMUONDspHeader* fDspHeader; //!< pointer for dsp structure
75 ClassDef(AliMUONPayloadTracker, 1) // base class for reading MUON raw digits