]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONPayloadTracker.h
memory leak eliminated
[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
78649106 10/// \brief Class for decoding the payload for tracker raw data
939ae4b2 11///
78649106 12// Author Christian Finck
939ae4b2 13
14#include <TObject.h>
939ae4b2 15
16class AliMUONDDLTracker;
17class AliMUONBusStruct;
18class AliMUONDspHeader;
19class AliMUONBlockHeader;
20
21class AliMUONPayloadTracker: public TObject {
22 public :
23 AliMUONPayloadTracker();
939ae4b2 24 virtual ~AliMUONPayloadTracker();
25
71a2d3aa 26 /// Return maximum number of block per DDL in DATE file
939ae4b2 27 Int_t GetMaxBlock() const {return fMaxBlock;}
71a2d3aa 28 /// Return maximum number of Dsp per block in DATE file
939ae4b2 29 Int_t GetMaxDsp() const {return fMaxDsp;}
71a2d3aa 30 /// Return maximum number of Buspatch per Dsp in DATE file
939ae4b2 31 Int_t GetMaxBus() const {return fMaxBus;}
32
33 // check input before assigment
34 void SetMaxBlock(Int_t blk);
35
71a2d3aa 36 /// \brief Set maximum number of Dsp per block in DATE file
37 /// does not check, done via BusPatchManager
939ae4b2 38 void SetMaxDsp(Int_t dsp) {fMaxDsp = dsp;}
71a2d3aa 39 /// \brief Set maximum number of Buspatch per Dsp in DATE file
40 /// does not check, done via BusPatchManager
939ae4b2 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
71a2d3aa 47 /// Return pointer for local structure
939ae4b2 48 AliMUONBusStruct* GetBusPatchInfo() const {return fBusStruct;}
71a2d3aa 49 /// Return pointer for buspatch structure
939ae4b2 50 AliMUONDDLTracker* GetDDLTracker() const {return fDDLTracker;}
51
9f5dcca3 52 private :
71a2d3aa 53 /// Not implemented
54 AliMUONPayloadTracker(const AliMUONPayloadTracker& stream);
55 /// Not implemented
56 AliMUONPayloadTracker& operator = (const AliMUONPayloadTracker& stream);
57
58 Bool_t CheckDataParity();
939ae4b2 59
939ae4b2 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
939ae4b2 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