]> git.uio.no Git - u/mrichter/AliRoot.git/blame - MUON/AliMUONDspHeader.h
EMCAL geometry can be created independently form anything now
[u/mrichter/AliRoot.git] / MUON / AliMUONDspHeader.h
CommitLineData
47c194a6 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
17class AliMUONBusStruct;
18
19class AliMUONDspHeader : public TObject {
20
21public:
22 AliMUONDspHeader();
23 AliMUONDspHeader(const AliMUONDspHeader& event);
24 AliMUONDspHeader& operator=(const AliMUONDspHeader& event);
25
26 virtual ~AliMUONDspHeader();
27
28 // DSP header
84ceeb06 29 Int_t GetDataKey() const {return fDataKey;}
47c194a6 30 Int_t GetTotalLength() const {return fTotalLength;}
31 Int_t GetLength() const {return fLength;}
32 Int_t GetDspId() const {return fDspId;}
84ceeb06 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;}
47c194a6 39
84ceeb06 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;}
47c194a6 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
84ceeb06 75 Int_t fDataKey; ///< Data key word for FRT header
829425a5 76 Int_t fTotalLength; ///< total length of block structure
77 Int_t fLength; ///< length of raw data
84ceeb06 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
829425a5 89
84ceeb06 90 TClonesArray* fBusPatchArray; ///< array of buspatch structure
47c194a6 91
84ceeb06 92 ClassDef(AliMUONDspHeader,2) // MUON Dsp header for Tracker event
47c194a6 93};
94#endif