1 #ifndef ALIHLTMUONRECHITSBLOCKSTRUCT_H
2 #define ALIHLTMUONRECHITSBLOCKSTRUCT_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
9 * @file AliHLTMUONRecHitsBlockStruct.h
10 * @author Indranil Das <indra.das@saha.ac.in>,
11 * Artur Szostak <artursz@iafrica.com>
13 * @brief Definition of internal dimuon HLT reconstructed hit data block structure.
15 * The structures are defined with C linkage since C generally gives us more
16 * binary compatibility between compilers.
19 #include "AliHLTMUONDataTypes.h"
25 * A 3D reconstructed hit point structure.
26 * These are used to store the hits reconstructed on the tracking or trigger
28 * Reconstructed hit values of (0, 0, 0) indicate an invalid or nil hit.
30 struct AliHLTMUONRecHitStruct
32 AliHLTFloat32_t fX; // X coordinate.
33 AliHLTFloat32_t fY; // Y coordinate.
34 AliHLTFloat32_t fZ; // Z coordinate.
38 * AliHLTMUONRecHitsBlockStruct defines the format of the internal
39 * reconstructed hit data block.
41 struct AliHLTMUONRecHitsBlockStruct
43 AliHLTMUONDataBlockHeader fHeader; // Common data block header
45 // Array of reconstructed hits.
47 AliHLTMUONRecHitStruct fHit[/*fHeader.fNrecords*/];
49 AliHLTMUONRecHitStruct fHit[1];
57 * Stream operator for usage with std::ostream classes which prints the
58 * reconstructed hit in the following format: {fX = xx, fY = yy, fZ = zz}
60 inline std::ostream& operator << (
61 std::ostream& stream, const AliHLTMUONRecHitStruct& hit
64 stream << "{fX = " << hit.fX << ", fY = " << hit.fY << ", fZ = "
70 * Stream operator for usage with std::ostream classes which prints the
71 * AliHLTMUONRecHitsBlockStruct in the following format:
72 * {fHeader = xx, fHit[] = [{..}, {..}, ...]}
74 std::ostream& operator << (
75 std::ostream& stream, const AliHLTMUONRecHitsBlockStruct& block
79 inline bool operator == (
80 const AliHLTMUONRecHitStruct& a, const AliHLTMUONRecHitStruct& b
83 return a.fX == b.fX and a.fY == b.fY and a.fZ == b.fZ;
86 inline bool operator != (
87 const AliHLTMUONRecHitStruct& a, const AliHLTMUONRecHitStruct& b
90 return not operator == (a, b);
95 const AliHLTMUONRecHitsBlockStruct& a,
96 const AliHLTMUONRecHitsBlockStruct& b
99 inline bool operator != (
100 const AliHLTMUONRecHitsBlockStruct& a,
101 const AliHLTMUONRecHitsBlockStruct& b
104 return not operator == (a, b);
107 #endif // ALIHLTMUONRECHITSBLOCKSTRUCT_H