]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDspHeader.h
Corrected GetNeighbours() (Laurent)
[u/mrichter/AliRoot.git] / MUON / AliMUONDspHeader.h
1 #ifndef ALIMUONDSPHEADER_H
2 #define ALIMUONDSPHEADER_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 AliMUONDspHeader
10 /// \brief MUON DSP header for tracker event
11 ///
12 /// \author Christian Finck
13
14 #include <TObject.h>
15 #include <TClonesArray.h>
16
17 class AliMUONBusStruct;
18
19 class AliMUONDspHeader : public TObject {
20
21 public:
22    AliMUONDspHeader();
23    AliMUONDspHeader(const AliMUONDspHeader& event);
24    AliMUONDspHeader& operator=(const AliMUONDspHeader& event);
25
26    virtual ~AliMUONDspHeader();
27
28    // DSP header
29    Int_t   GetDataKey()        const {return fDataKey;}
30    Int_t   GetTotalLength()    const {return fTotalLength;}
31    Int_t   GetLength()         const {return fLength;}
32    Int_t   GetDspId()          const {return fDspId;}
33    Int_t   GetBlkL1ATrigger()  const {return fBlkL1ATrigger;}
34    Int_t   GetMiniEventId()    const {return fMiniEventId;}
35    Int_t   GetL1ATrigger()     const {return fL1ATrigger;}
36    Int_t   GetL1RTrigger()     const {return fL1RTrigger;}
37    UInt_t  GetPaddingWord()    const {return fPaddingWord;}
38    Int_t   GetErrorWord()      const {return fErrorWord;}
39
40    Int_t   GetHeaderLength()   const {return fgkHeaderLength;}
41    UInt_t  GetDefaultDataKey() const {return fgkDefaultDataKey;}
42    UInt_t  GetDefaultPaddingWord() const {return fgkDefaultPaddingWord;}
43
44    void    SetDataKey(Int_t d)        {fDataKey = d;}
45    void    SetTotalLength(Int_t l)    {fTotalLength = l;}
46    void    SetLength(Int_t l)         {fLength = l;}
47    void    SetDspId(Int_t d)          {fDspId = d;}  
48    void    SetBlkL1ATrigger(Int_t l1) {fBlkL1ATrigger = l1;}
49    void    SetMiniEventId(Int_t id)   {fMiniEventId = id;}
50    void    SetL1ATrigger(Int_t l1a)   {fL1ATrigger = l1a;}
51    void    SetL1RTrigger(Int_t l1r)   {fL1RTrigger = l1r;}
52    void    SetPaddingWord(UInt_t w)   {fPaddingWord = w;}
53    void    SetErrorWord(Int_t w)      {fErrorWord = w;}
54
55    Int_t*  GetHeader() {return &fDataKey;}
56
57    void    AddBusPatch(const AliMUONBusStruct& busPatch);
58
59    // get TClonesArray
60    TClonesArray*  GetBusPatchArray()  const {return fBusPatchArray;}
61
62    // get entries
63    Int_t GetBusPatchEntries()  const {return fBusPatchArray->GetEntriesFast();}
64
65    // get entry
66    AliMUONBusStruct* GetBusPatchEntry(Int_t i) const {
67      return (AliMUONBusStruct*)fBusPatchArray->At(i);}
68
69    // clear
70    void Clear(Option_t* opt);
71
72  private:
73
74    // Dsp header
75    Int_t     fDataKey;          ///< Data key word for FRT header 
76    Int_t     fTotalLength;      ///< total length of block structure
77    Int_t     fLength;           ///< length of raw data
78    Int_t     fDspId;            ///< Dsp id
79    Int_t     fBlkL1ATrigger;    ///< L1 accept in Block Structure (CRT)
80    Int_t     fMiniEventId;      ///< Mini Event Id in bunch crossing 
81    Int_t     fL1ATrigger;       ///< Number of L1 accept in DSP Structure (FRT)
82    Int_t     fL1RTrigger;       ///< Number of L1 reject in DSP Structure (FRT)
83    Int_t     fPaddingWord;      ///< padding dummy word for 64 bits transfer
84    Int_t     fErrorWord;        ///< Error word
85
86    static const Int_t  fgkHeaderLength; ///< header length
87    static const UInt_t fgkDefaultDataKey; ///< default data key word for FRT header 
88    static const UInt_t fgkDefaultPaddingWord; ///< default padding word value 
89
90    TClonesArray* fBusPatchArray;   ///< array of buspatch structure
91
92    ClassDef(AliMUONDspHeader,2)  // MUON Dsp header for Tracker event
93 };
94 #endif