/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice */
-/* $Id$ */
+// $Id$
/**
* @file AliHLTMUONTrigRecsDebugBlockStruct.h
* @author Artur Szostak <artursz@iafrica.com>
- * @date
+ * @date 19 May 2007
* @brief Definition of internal dimuon HLT data structures for storing debugging
* information about trigger records.
- *
+ *
* The structures are defined with C linkage since C generally gives us more
* binary compatibility between compilers.
*/
#include "AliHLTMUONDataTypes.h"
+#include "AliMUONTriggerDDLDecoderEventHandler.h"
extern "C"
{
AliHLTInt32_t fTrigRecId; // The corresponding trigger record ID this
// debug information corresponds to. -1 == invalid.
- AliHLTInt32_t fDetElemId; // Detector ID number from AliRoot geometry
+ AliHLTInt32_t fDetElemId[4]; // Detector ID numbers from AliRoot geometry
// on which the hit clusters were found.
+ // fDetElemId[0] is for chamber 11, fDetElemId[1]
+ // for chamber 12 etc.
// The parameters used for momentum estimation:
- AliHLTFloat32_t fZmiddle; // Particle momentum X component in GeV/c.
+ AliHLTFloat32_t fZmiddle; // Z position in the middle of the magnetic field in centimetres.
AliHLTFloat32_t fBl; // The integrated magnetic field in (T.m) tesla metres.
+
+ AliMUONLocalInfoStruct fL0Struct; // Copy of the L0 local trigger structure bits.
+ AliMUONLocalInfoStruct fL0StructPrev; // Copy of the previous L0 local trigger structure bits used. Can be zero if none used.
+ AliMUONLocalInfoStruct fL0StructNext; // Copy of the next L0 local trigger structure bits used. Can be zero if none used.
};
/**
AliHLTMUONDataBlockHeader fHeader; // Common data block header
// Array of trigger records.
- AliHLTMUONTrigRecInfoStruct fTrigRecInfo[/*fHeader.fNrecords*/];
+ //AliHLTMUONTrigRecInfoStruct fTrigRecInfo[/*fHeader.fNrecords*/];
};
} // extern "C"
/**
* Stream operator for usage with std::ostream classes which prints the trigger
* record debug information in the following format:
- * {fTrigRecId = xx, fDetElemId = yy, fZmiddle = zz, fBl = ww}
+ * {fTrigRecId = xx, fDetElemId = [aa, bb, cc, dd], fZmiddle = yy, fBl = zz}
*/
std::ostream& operator << (
std::ostream& stream, const AliHLTMUONTrigRecInfoStruct& info
);
-inline bool operator == (
+bool operator == (
const AliHLTMUONTrigRecInfoStruct& a,
const AliHLTMUONTrigRecInfoStruct& b
- )
-{
- return a.fTrigRecId == b.fTrigRecId and a.fDetElemId == b.fDetElemId
- and a.fZmiddle == b.fZmiddle and a.fBl == b.fBl;
-}
+ );
inline bool operator != (
const AliHLTMUONTrigRecInfoStruct& a,