1 #ifndef ALIHLTMUONTRIGGERCHANNELSBLOCKSTRUCT_H
2 #define ALIHLTMUONTRIGGERCHANNELSBLOCKSTRUCT_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 * @file AliHLTMUONTriggerChannelsBlockStruct.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 trigger records.
15 * The structures are defined with C linkage since C generally gives us more
16 * binary compatibility between compilers.
19 #include "AliHLTMUONDataTypes.h"
26 * Gives the fired channel/strip information which was considered during
27 * hit reconstruction on trigger chambers and correlated into a common cluster.
29 struct AliHLTMUONTriggerChannelStruct
31 AliHLTInt32_t fTrigRecId; // ID corresponding to the trigger records this
32 // channel is part of. -1 == invalid.
34 AliHLTUInt16_t fChamber; // The chamber this hit corresponds to.
35 // In the range [11..14].
37 AliHLTUInt16_t fSignal; // ADC value of signal.
38 AliHLTUInt32_t fRawDataWord; // The raw data word as found in the DDL stream.
42 * AliHLTMUONTriggerChannelsBlockStruct defines the format of the internal
43 * channel data block corresponding to clusters on the trigger chambers.
45 struct AliHLTMUONTriggerChannelsBlockStruct
47 AliHLTMUONDataBlockHeader fHeader; // Common data block header
49 // Array of trigger channels/strips.
50 //AliHLTMUONTriggerChannelStruct fChannel[/*fHeader.fNrecords*/];
57 * Stream operator for usage with std::ostream classes which prints the
58 * AliHLTMUONTriggerChannelStruct in the following format:
59 * {fTrigRecId = xx, fChamber = yy, fSignal = zz, fRawDataWord = 0xXXXXXXXX}
61 std::ostream& operator << (
62 std::ostream& stream, const AliHLTMUONTriggerChannelStruct& channel
66 * Stream operator for usage with std::ostream classes which prints the
67 * AliHLTMUONTriggerChannelsBlockStruct in the following format:
68 * {fHeader = xx, fChannel[] = [{..}, {..}, ...]}
70 std::ostream& operator << (
72 const AliHLTMUONTriggerChannelsBlockStruct& block
76 inline bool operator == (
77 const AliHLTMUONTriggerChannelStruct& a,
78 const AliHLTMUONTriggerChannelStruct& b
81 return a.fTrigRecId == b.fTrigRecId and a.fChamber == b.fChamber and
82 a.fSignal == b.fSignal and a.fRawDataWord == b.fRawDataWord;
85 inline bool operator != (
86 const AliHLTMUONTriggerChannelStruct& a,
87 const AliHLTMUONTriggerChannelStruct& b
90 return not operator == (a, b);
95 const AliHLTMUONTriggerChannelsBlockStruct& a,
96 const AliHLTMUONTriggerChannelsBlockStruct& b
99 inline bool operator != (
100 const AliHLTMUONTriggerChannelsBlockStruct& a,
101 const AliHLTMUONTriggerChannelsBlockStruct& b
104 return not operator == (a, b);
107 #endif // ALIHLTMUONTRIGGERCHANNELSBLOCKSTRUCT_H