1 #ifndef ALIHLTMUONCHANNELSBLOCKSTRUCT_H
2 #define ALIHLTMUONCHANNELSBLOCKSTRUCT_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 * @file AliHLTMUONChannelsBlockStruct.h
10 * @author Artur Szostak <artursz@iafrica.com>
12 * @brief Definition of internal dimuon HLT block structure containing
13 * debugging information about channels that belong to reconstructed
16 * The structures are defined with C linkage since C generally gives us more
17 * binary compatibility between compilers.
20 #include "AliHLTMUONDataTypes.h"
27 * Gives the fired channel/pad information which was considered during
28 * hit reconstruction and correlated into a common cluster.
30 struct AliHLTMUONChannelStruct
32 AliHLTInt32_t fClusterId; // ID corresponding to the cluster this
33 // channel is part of. -1 == invalid.
35 AliHLTUInt16_t fManu; // The MANU address on electronics.
36 AliHLTUInt16_t fChannelAddress; // The channel address on electronics.
37 AliHLTUInt32_t fSignal; // ADC value of signal.
38 AliHLTUInt32_t fRawDataWord; // The raw data word as found in the DDL stream.
42 * AliHLTMUONChannelBlockStruct defines the format of the internal channel
43 * data block corresponding to clusters on the tracking chambers.
45 struct AliHLTMUONChannelsBlockStruct
47 AliHLTMUONDataBlockHeader fHeader; // Common data block header
49 // Array of cluster channels/pads.
50 //AliHLTMUONChannelStruct fChannel[/*fHeader.fNrecords*/];
57 * Stream operator for usage with std::ostream classes which prints the
58 * AliHLTMUONChannelStruct in the following format:
59 * {fClusterId = xx, fManu = yy, fChannelAddress = zz, fSignal = ww,
60 * fRawDataWord = 0xXXXXXXXX}
62 std::ostream& operator << (
63 std::ostream& stream, const AliHLTMUONChannelStruct& channel
67 * Stream operator for usage with std::ostream classes which prints the
68 * AliHLTMUONChannelsBlockStruct in the following format:
69 * {fHeader = xx, fChannel[] = [{..}, {..}, ...]}
71 std::ostream& operator << (
72 std::ostream& stream, const AliHLTMUONChannelsBlockStruct& block
76 inline bool operator == (
77 const AliHLTMUONChannelStruct& a,
78 const AliHLTMUONChannelStruct& b
81 return a.fClusterId == b.fClusterId and a.fManu == b.fManu and
82 a.fChannelAddress == b.fChannelAddress and
83 a.fSignal == b.fSignal and a.fRawDataWord == b.fRawDataWord;
86 inline bool operator != (
87 const AliHLTMUONChannelStruct& a,
88 const AliHLTMUONChannelStruct& b
91 return not operator == (a, b);
96 const AliHLTMUONChannelsBlockStruct& a,
97 const AliHLTMUONChannelsBlockStruct& b
100 inline bool operator != (
101 const AliHLTMUONChannelsBlockStruct& a,
102 const AliHLTMUONChannelsBlockStruct& b
105 return not operator == (a, b);
108 #endif // ALIHLTMUONCHANNELSBLOCKSTRUCT_H