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.
46 //AliHLTMUONRecHitStruct fHit[/*fHeader.fNrecords*/];
53 * Stream operator for usage with std::ostream classes which prints the
54 * reconstructed hit in the following format: {fX = xx, fY = yy, fZ = zz}
56 inline std::ostream& operator << (
57 std::ostream& stream, const AliHLTMUONRecHitStruct& hit
60 stream << "{fX = " << hit.fX << ", fY = " << hit.fY << ", fZ = "
66 * Stream operator for usage with std::ostream classes which prints the
67 * AliHLTMUONRecHitsBlockStruct in the following format:
68 * {fHeader = xx, fHit[] = [{..}, {..}, ...]}
70 std::ostream& operator << (
71 std::ostream& stream, const AliHLTMUONRecHitsBlockStruct& block
75 inline bool operator == (
76 const AliHLTMUONRecHitStruct& a, const AliHLTMUONRecHitStruct& b
79 return a.fX == b.fX and a.fY == b.fY and a.fZ == b.fZ;
82 inline bool operator != (
83 const AliHLTMUONRecHitStruct& a, const AliHLTMUONRecHitStruct& b
86 return not operator == (a, b);
91 const AliHLTMUONRecHitsBlockStruct& a,
92 const AliHLTMUONRecHitsBlockStruct& b
95 inline bool operator != (
96 const AliHLTMUONRecHitsBlockStruct& a,
97 const AliHLTMUONRecHitsBlockStruct& b
100 return not operator == (a, b);
103 #endif // ALIHLTMUONRECHITSBLOCKSTRUCT_H