LCOV - code coverage report
Current view: top level - HLT/MUON - AliHLTMUONChannelsBlockStruct.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 4 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 2 0.0 %

          Line data    Source code
       1             : #ifndef ALIHLTMUONCHANNELSBLOCKSTRUCT_H
       2             : #define ALIHLTMUONCHANNELSBLOCKSTRUCT_H
       3             : /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : // $Id$
       7             : 
       8             : ///
       9             : /// @file   AliHLTMUONChannelsBlockStruct.h
      10             : /// @author Artur Szostak <artursz@iafrica.com>
      11             : /// @date   18 May 2007
      12             : /// @brief  Definition of internal dHLT channels block structure corresponding to clusters.
      13             : ///
      14             : /// The structures are defined with C linkage since C generally gives us more
      15             : /// binary compatibility between compilers.
      16             : ///
      17             : 
      18             : #include "AliHLTMUONDataTypes.h"
      19             : #include <ostream>
      20             : 
      21             : extern "C"
      22             : {
      23             : 
      24             : /**
      25             :  * Gives the fired channel/pad information which was considered during
      26             :  * hit reconstruction and correlated into a common cluster.
      27             :  */
      28             : struct AliHLTMUONChannelStruct
      29             : {
      30             :         AliHLTInt32_t fClusterId;   // ID corresponding to the cluster this
      31             :                                     // channel is part of. -1 == invalid.
      32             : 
      33             :         AliHLTUInt16_t fBusPatch;    // Bus patch to which this is connected.
      34             :         AliHLTUInt16_t fManu;        // The MANU address on electronics.
      35             :         AliHLTUInt16_t fChannelAddress; // The channel address on electronics.
      36             :         AliHLTUInt16_t fSignal;      // ADC value of signal.
      37             :         AliHLTUInt32_t fRawDataWord; // The raw data word as found in the DDL stream.
      38             : };
      39             : 
      40             : /**
      41             :  * AliHLTMUONChannelBlockStruct defines the format of the internal channel
      42             :  * data block corresponding to clusters on the tracking chambers.
      43             :  */
      44             : struct AliHLTMUONChannelsBlockStruct
      45             : {
      46             :         AliHLTMUONDataBlockHeader fHeader; // Common data block header
      47             : 
      48             :         // Array of cluster channels/pads.
      49             :         //AliHLTMUONChannelStruct fChannel[/*fHeader.fNrecords*/];
      50             : };
      51             : 
      52             : } // extern "C"
      53             : 
      54             : 
      55             : /**
      56             :  * Stream operator for usage with std::ostream classes which prints the
      57             :  * AliHLTMUONChannelStruct in the following format:
      58             :  *   {fClusterId = xx, fBusPatch = yy, fManu = zz, fChannelAddress = uu, fSignal = ww,
      59             :  *    fRawDataWord = 0xXXXXXXXX}
      60             :  */
      61             : std::ostream& operator << (
      62             :                 std::ostream& stream, const AliHLTMUONChannelStruct& channel
      63             :         );
      64             : 
      65             : /**
      66             :  * Stream operator for usage with std::ostream classes which prints the
      67             :  * AliHLTMUONChannelsBlockStruct in the following format:
      68             :  *   {fHeader = xx, fChannel[] = [{..}, {..}, ...]}
      69             :  */
      70             : std::ostream& operator << (
      71             :                 std::ostream& stream, const AliHLTMUONChannelsBlockStruct& block
      72             :         );
      73             : 
      74             : 
      75             : inline bool operator == (
      76             :                 const AliHLTMUONChannelStruct& a,
      77             :                 const AliHLTMUONChannelStruct& b
      78             :         )
      79             : {
      80           0 :         return a.fClusterId == b.fClusterId and a.fBusPatch == b.fBusPatch and
      81           0 :                 a.fManu == b.fManu and a.fChannelAddress == b.fChannelAddress and
      82           0 :                 a.fSignal == b.fSignal and a.fRawDataWord == b.fRawDataWord;
      83             : }
      84             : 
      85             : inline bool operator != (
      86             :                 const AliHLTMUONChannelStruct& a,
      87             :                 const AliHLTMUONChannelStruct& b
      88             :         )
      89             : {
      90           0 :         return not operator == (a, b);
      91             : }
      92             : 
      93             : 
      94             : bool operator == (
      95             :                 const AliHLTMUONChannelsBlockStruct& a,
      96             :                 const AliHLTMUONChannelsBlockStruct& b
      97             :         );
      98             : 
      99             : inline bool operator != (
     100             :                 const AliHLTMUONChannelsBlockStruct& a,
     101             :                 const AliHLTMUONChannelsBlockStruct& b
     102             :         )
     103             : {
     104             :         return not operator == (a, b);
     105             : }
     106             : 
     107             : #endif // ALIHLTMUONCHANNELSBLOCKSTRUCT_H

Generated by: LCOV version 1.11