]> git.uio.no Git - u/mrichter/AliRoot.git/blob - MUON/AliMUONDDLTracker.h
311b9856136252061db3d1f8a578f0259b68ee03
[u/mrichter/AliRoot.git] / MUON / AliMUONDDLTracker.h
1 #ifndef ALIMUONDDLTRACKER_H
2 #define ALIMUONDDLTRACKER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6
7 #include <TObject.h>
8 static const Int_t  bufsize = 1024;
9
10 class AliMUONDDLTracker : public TObject {
11
12 public:
13    AliMUONDDLTracker();
14    virtual ~AliMUONDDLTracker(){;}
15
16    UInt_t  GetRawData(Int_t n) const {return fData[n];}
17    Int_t   GetLength()  const {return fLength;}
18    Int_t   GetBusPatchId()  const {return fBusPatchId;}
19    Int_t   GetEoD()     const {return fEndOfDDL;}  
20
21    Char_t   GetParity(Int_t n)    {return (Char_t)(fData[n] >> 29) &  0x7;}
22    UShort_t GetManuId(Int_t n)    {return (UShort_t)(fData[n] >> 18) &  0x7FF;}
23    Char_t   GetChannelId(Int_t n) {return (Char_t)(fData[n] >> 12) & 0x3F;}
24    UShort_t GetCharge(Int_t n)    {return (UShort_t)(fData[n] & 0xFFF);}
25
26    void    SetRawData(UInt_t w) {fData[fLength++] = w;}
27    void    SetLength(Int_t l) {fLength = l;}
28    void    SetBusPatchId(Int_t b) {fBusPatchId = b;}  
29    void    SetEoD(Int_t e) {fEndOfDDL = e;}  
30
31    Int_t* GetAddress() {return &fLength;}
32
33  private:
34    
35    Int_t     fLength;           // length of data
36    Int_t     fBusPatchId;       // bus patch id
37    UInt_t    fData[bufsize];    // data 
38    Int_t     fEndOfDDL  ;       // end of DDL
39
40    ClassDef(AliMUONDDLTracker,1)  // MUON DDL Tracker
41 };
42 #endif