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