]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONSubEventTracker.h
- Corrected copy constructor,
[u/mrichter/AliRoot.git] / MUON / AliMUONSubEventTracker.h
CommitLineData
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
36bd4e3a 11///
12/// Bus patch structure for tracker raw data
13/// each Dsp contains at most 5 bus patch structure
14/// Beside the total length and length of the below data
15/// the header of the block contains the bus patch id, trigger words
16/// and data structure itself (11bits for manu id, 6 bits for channel id and
17/// 12 bits for charge)
18///
19/// \author Christian Finck
69be760c 20
21#include <TObject.h>
22
69be760c 23class AliMUONSubEventTracker : public TObject {
24
25public:
26 AliMUONSubEventTracker ();
27 virtual ~AliMUONSubEventTracker ();
28 AliMUONSubEventTracker(const AliMUONSubEventTracker& rhs);
29 AliMUONSubEventTracker& operator=(const AliMUONSubEventTracker& rhs);
30
31 Int_t GetTotalLength() const {return fTotalLength;}
32 Int_t GetLength() const {return fLength;}
33 Int_t GetBusPatchId() const {return fBusPatchId;}
34 Int_t GetTriggerWord() const {return fTriggerWord;}
36bd4e3a 35 UInt_t GetData(Int_t n) const;
69be760c 36 UInt_t* GetData() const {return fData;}
37
36bd4e3a 38 Char_t GetParity(Int_t n) const;
39 UShort_t GetManuId(Int_t n) const;
40 Char_t GetChannelId(Int_t n) const;
41 UShort_t GetCharge(Int_t n) const;
69be760c 42
69be760c 43 void SetBusPatchId(Int_t b) {fBusPatchId = b;}
44 void SetTriggerWord(Int_t w) {fTriggerWord = w;}
69be760c 45
46 void AddData(UInt_t d);
47 void SetAlloc(Int_t size);
48
49 Bool_t IsSortable() const {return kTRUE;}
50 Int_t Compare(const TObject *obj) const;
51
ced309a5 52 Int_t GetHeaderLength() const {return fgkHeaderLength;}
c8f4be1a 53
ced309a5 54 Int_t* GetBusPatchHeader() {return &fTotalLength;}
69be760c 55
56 private:
57 Int_t fTotalLength; // total length of buspatch structure
58 Int_t fLength; // length of raw data
59 Int_t fBusPatchId; // bus patch id
60 Int_t fTriggerWord ; // counter trigger word
c8f4be1a 61
62 static const Int_t fgkHeaderLength; // header length in word
63
69be760c 64 UInt_t* fData; // data
65
66 Int_t fBufSize; // initial size for data array
67
68 void ResizeData(Int_t size = 0);
69
70 ClassDef(AliMUONSubEventTracker,1) // MUON DDL Tracker
71};
72#endif