/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id$ */
+// $Id$
/**
* @file AliHLTMUONRecHitsBlockStruct.h
* @author Indranil Das <indra.das@saha.ac.in>,
* Artur Szostak <artursz@iafrica.com>
- * @date
+ * @date 17 May 2007
* @brief Definition of internal dimuon HLT reconstructed hit data block structure.
- *
+ *
* The structures are defined with C linkage since C generally gives us more
* binary compatibility between compilers.
*/
*/
struct AliHLTMUONRecHitStruct
{
+ // The flags word constains the following bit fields (bit 31 is most
+ // significant):
+ //
+ // bits: [ 31 -- 16 ][ 15 -- 12 ][ 11 --- 0 ]
+ // field: reserved chamber detElemId
+ //
+ // Where we have,
+ // reserved bits must be set to zero.
+ // chamber - specifies the chamber number in the range [0..13], 0xF for invalid.
+ // detElemId - specifies the detector element ID number.
+ AliHLTUInt32_t fFlags;
+
AliHLTFloat32_t fX; // X coordinate.
AliHLTFloat32_t fY; // Y coordinate.
AliHLTFloat32_t fZ; // Z coordinate.
std::ostream& stream, const AliHLTMUONRecHitStruct& hit
)
{
- stream << "{fX = " << hit.fX << ", fY = " << hit.fY << ", fZ = "
- << hit.fZ << "}";
+ std::ios::fmtflags oldflags = stream.flags();
+ stream << "{fFlags = " << std::showbase << std::hex
+ << hit.fFlags << std::dec << ", fX = " << hit.fX
+ << ", fY = " << hit.fY << ", fZ = " << hit.fZ << "}";
+ stream.flags(oldflags);
return stream;
}
const AliHLTMUONRecHitStruct& a, const AliHLTMUONRecHitStruct& b
)
{
- return a.fX == b.fX and a.fY == b.fY and a.fZ == b.fZ;
+ return a.fFlags == b.fFlags and a.fX == b.fX and a.fY == b.fY and a.fZ == b.fZ;
}
inline bool operator != (