]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - MUON/AliMUONBlockHeader.h
Include EAs from offline c3 fits
[u/mrichter/AliRoot.git] / MUON / AliMUONBlockHeader.h
... / ...
CommitLineData
1#ifndef ALIMUONBLOCKHEADER_H
2#define ALIMUONBLOCKHEADER_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 AliMUONBlockHeader
10/// \brief MUON block (Crocus CRT) header for tracker event
11///
12// Author Christian Finck
13
14#include <TObject.h>
15#include <TClonesArray.h>
16
17class AliMUONDspHeader;
18
19class AliMUONBlockHeader : public TObject {
20
21public:
22 AliMUONBlockHeader();
23 AliMUONBlockHeader(TRootIOCtor* dummy);
24 AliMUONBlockHeader(const AliMUONBlockHeader &event);
25 AliMUONBlockHeader& operator=(const AliMUONBlockHeader &event);
26
27 virtual ~AliMUONBlockHeader();
28
29 //
30 // Block header
31 //
32 /// Return data key word for CRT header
33 Int_t GetDataKey() const {return fDataKey;}
34 /// Return total length of block structure (w/o padding word)
35 Int_t GetTotalLength() const {return fTotalLength;}
36 /// Return length of raw data
37 Int_t GetLength() const {return fLength;}
38 /// Return Dsp id
39 Int_t GetDspId() const {return fDspId;}
40 /// Return L0 trigger word
41 Int_t GetL0Trigger() const {return fL0Trigger;}
42 /// Return Bunch Crossing for mini-event id (see TDR chapter 8)
43 Int_t GetMiniEventId() const {return fMiniEventId;}
44 /// Return Event Id in bunch crossing
45 Int_t GetEventId1() const {return fEventId1;}
46 /// Return Event Id in orbit number
47 Int_t GetEventId2() const {return fEventId2;}
48
49 /// Return header length in word
50 Int_t GetHeaderLength() const {return fgkHeaderLength;}
51 /// Return default data key word for CRT header
52 UInt_t GetDefaultDataKey() const {return fgkDefaultDataKey;}
53 /// Return data key end word for CRT header
54 UInt_t GetDdlDataKey() const {return fgkDdlDataKey;}
55
56 /// Set data key word for CRT header
57 void SetDataKey(Int_t d) {fDataKey = d;}
58 /// Set total length of block structure (w/o padding word)
59 void SetTotalLength(Int_t l) {fTotalLength = l;}
60 /// Set length of raw data
61 void SetLength(Int_t l) {fLength = l;}
62 /// Set Dsp id
63 void SetDspId(Int_t d) {fDspId = d;}
64 /// Set L0 trigger word
65 void SetL0Trigger(Int_t l) {fL0Trigger = l;}
66 /// Set Bunch Crossing for mini-event id (see TDR chapter 8)
67 void SetMiniEventId(Int_t e) {fMiniEventId = e;}
68 /// Set Event Id in bunch crossing
69 void SetEventId1(Int_t e) {fEventId1 = e;}
70 /// Set Event Id in orbit number
71 void SetEventId2(Int_t e) {fEventId2 = e;}
72
73
74 /// Return header
75 Int_t* GetHeader() {return &fDataKey;}
76
77 void AddDspHeader(const AliMUONDspHeader& dspHeader);
78
79 /// get TClonesArray
80 TClonesArray* GetDspHeaderArray() const {return fDspHeaderArray;}
81
82 /// get entries
83 Int_t GetDspHeaderEntries() const {return fDspHeaderArray->GetEntriesFast();}
84
85 /// get entry
86 AliMUONDspHeader* GetDspHeaderEntry(Int_t i) const {
87 return (AliMUONDspHeader*)fDspHeaderArray->At(i);}
88
89 // clear
90 void Clear(Option_t* opt);
91
92 // print out
93 void Print(Option_t* /*opt*/) const;
94
95 private:
96
97 // block header
98 Int_t fDataKey; ///< Data key word for CRT header
99 Int_t fTotalLength; ///< total length of block structure (w/o padding word)
100 Int_t fLength; ///< length of raw data
101 Int_t fDspId; ///< Dsp id
102 Int_t fL0Trigger; ///< L0 trigger word
103 Int_t fMiniEventId; ///< Bunch Crossing for mini-event id (see TDR chapter 8)
104 Int_t fEventId1; ///< Event Id in bunch crossing
105 Int_t fEventId2; ///< Event Id in orbit number
106
107
108 static const Int_t fgkHeaderLength; ///< header length in word
109 static const UInt_t fgkDefaultDataKey; ///< default data key word for CRT header
110 static const UInt_t fgkDdlDataKey; ///< data key end word for CRT header
111
112 TClonesArray* fDspHeaderArray; ///< array of block header
113
114 ClassDef(AliMUONBlockHeader,3) // MUON block header for Tracker event
115};
116#endif