]>
Commit | Line | Data |
---|---|---|
69be760c | 1 | #ifndef ALIMUONSUBEVENTTRACKER_H |
2 | #define ALIMUONSUBEVENTTRACKER_H | |
3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * | |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
692de412 | 6 | /*$Id$*/ |
7 | ||
8 | /// \ingroup rec | |
9 | /// \class AliMUONSubEventTracker | |
10 | /// \brief MUON subevent tracker | |
69be760c | 11 | |
12 | #include <TObject.h> | |
13 | ||
69be760c | 14 | class AliMUONSubEventTracker : public TObject { |
15 | ||
16 | public: | |
17 | AliMUONSubEventTracker (); | |
18 | virtual ~AliMUONSubEventTracker (); | |
19 | AliMUONSubEventTracker(const AliMUONSubEventTracker& rhs); | |
20 | AliMUONSubEventTracker& operator=(const AliMUONSubEventTracker& rhs); | |
21 | ||
22 | Int_t GetTotalLength() const {return fTotalLength;} | |
23 | Int_t GetLength() const {return fLength;} | |
24 | Int_t GetBusPatchId() const {return fBusPatchId;} | |
25 | Int_t GetTriggerWord() const {return fTriggerWord;} | |
26 | UInt_t GetData(Int_t n) const {return fData[n];} | |
27 | UInt_t* GetData() const {return fData;} | |
28 | ||
29 | Char_t GetParity(Int_t n) {return (Char_t)(fData[n] >> 29) & 0x7;} | |
30 | UShort_t GetManuId(Int_t n) {return (UShort_t)(fData[n] >> 18) & 0x7FF;} | |
31 | Char_t GetChannelId(Int_t n) {return (Char_t)(fData[n] >> 12) & 0x3F;} | |
32 | UShort_t GetCharge(Int_t n) {return (UShort_t)(fData[n] & 0xFFF);} | |
33 | ||
34 | void SetTotalLength(Int_t l) {fTotalLength = l;} | |
35 | void SetLength(Int_t l) {fLength = l;} | |
36 | void SetBusPatchId(Int_t b) {fBusPatchId = b;} | |
37 | void SetTriggerWord(Int_t w) {fTriggerWord = w;} | |
38 | void SetData(UInt_t d, Int_t n) {fData[n] = d; fLength++;} | |
39 | ||
40 | void AddData(UInt_t d); | |
41 | void SetAlloc(Int_t size); | |
42 | ||
43 | Bool_t IsSortable() const {return kTRUE;} | |
44 | Int_t Compare(const TObject *obj) const; | |
45 | ||
17323043 | 46 | Int_t GetHeaderLength() const {return fgkHeaderLength;} |
c8f4be1a | 47 | |
69be760c | 48 | Int_t* GetAddress() {return &fTotalLength;} |
49 | ||
50 | private: | |
51 | Int_t fTotalLength; // total length of buspatch structure | |
52 | Int_t fLength; // length of raw data | |
53 | Int_t fBusPatchId; // bus patch id | |
54 | Int_t fTriggerWord ; // counter trigger word | |
c8f4be1a | 55 | |
56 | static const Int_t fgkHeaderLength; // header length in word | |
57 | ||
69be760c | 58 | UInt_t* fData; // data |
59 | ||
60 | Int_t fBufSize; // initial size for data array | |
61 | ||
62 | void ResizeData(Int_t size = 0); | |
63 | ||
64 | ClassDef(AliMUONSubEventTracker,1) // MUON DDL Tracker | |
65 | }; | |
66 | #endif |