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

          Line data    Source code
       1             : #ifndef ALIHLTMUONCLUSTERSBLOCKSTRUCT_H
       2             : #define ALIHLTMUONCLUSTERSBLOCKSTRUCT_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   AliHLTMUONClustersBlockStruct.h
      10             :  * @author Artur Szostak <artursz@iafrica.com>
      11             :  * @date   18 May 2007
      12             :  * @brief  Definition of internal dimuon HLT block structure.
      13             :  *
      14             :  * The structure contains extra information about a cluster and its corresponding
      15             :  * reconstructed hit, such as total charge and number of channels.
      16             :  * The individual channel information is contained in AliHLTMUONChannelStruct structures.
      17             :  * The extra information is useful for debugging purposes.
      18             :  *
      19             :  * The structures are defined with C linkage since C generally gives us more
      20             :  * binary compatibility between compilers.
      21             :  */
      22             : 
      23             : #include "AliHLTMUONDataTypes.h"
      24             : #include "AliHLTMUONRecHitsBlockStruct.h"
      25             : #include <ostream>
      26             : 
      27             : extern "C"
      28             : {
      29             : 
      30             : /**
      31             :  * Extra debugging information about a cluster and its reconstructed hit.
      32             :  */
      33             : struct AliHLTMUONClusterStruct
      34             : {
      35             :         AliHLTInt32_t fId; // Unique ID for the cluster. It must be at
      36             :                            // least unique for any given event. -1 == invalid.
      37             : 
      38             :         AliHLTMUONRecHitStruct fHit; // Corresponding reconstructed hit.
      39             : 
      40             :         AliHLTInt32_t fDetElemId;  // Detector ID number from AliRoot geometry
      41             :                                    // on which the cluster was found.
      42             : 
      43             :         AliHLTUInt16_t fNchannelsB; // Number of channels/pads in the cluster in bending plane.
      44             :         AliHLTUInt16_t fNchannelsNB; // Number of channels/pads in the cluster in non-bending plane.
      45             :         
      46             :         AliHLTFloat32_t fChargeB; // Cluster charge in bending plane. Can be -1 if invalid or uncomputed.
      47             :         AliHLTFloat32_t fChargeNB; // Cluster charge in non-bending plane. Can be -1 if invalid or uncomputed.
      48             : };
      49             : 
      50             : /**
      51             :  * AliHLTMUONClusterBlockStruct defines the format of the internal cluster
      52             :  * data block.
      53             :  */
      54             : struct AliHLTMUONClustersBlockStruct
      55             : {
      56             :         AliHLTMUONDataBlockHeader fHeader; // Common data block header
      57             : 
      58             :         // Array of clusters.
      59             :         //AliHLTMUONClusterStruct fCluster[/*fHeader.fNrecords*/];
      60             : };
      61             : 
      62             : } // extern "C"
      63             : 
      64             : 
      65             : /**
      66             :  * Stream operator for usage with std::ostream classes which prints the
      67             :  * AliHLTMUONClusterStruct in the following format:
      68             :  *   {fId = xx, fHit = {...}, fDetElemId = yy, fNchannels = zz}
      69             :  */
      70             : std::ostream& operator << (
      71             :                 std::ostream& stream, const AliHLTMUONClusterStruct& cluster
      72             :         );
      73             : 
      74             : /**
      75             :  * Stream operator for usage with std::ostream classes which prints the
      76             :  * AliHLTMUONClustersBlockStruct in the following format:
      77             :  *   {fHeader = xx, fCluster[] = [{..}, {..}, ...]}
      78             :  */
      79             : std::ostream& operator << (
      80             :                 std::ostream& stream, const AliHLTMUONClustersBlockStruct& block
      81             :         );
      82             : 
      83             : 
      84             : inline bool operator == (
      85             :                 const AliHLTMUONClusterStruct& a,
      86             :                 const AliHLTMUONClusterStruct& b
      87             :         )
      88             : {
      89           0 :         return  a.fId == b.fId and a.fHit == b.fHit and
      90           0 :                 a.fDetElemId == b.fDetElemId and a.fNchannelsB == b.fNchannelsB and 
      91           0 :                 a.fNchannelsNB == b.fNchannelsNB and a.fChargeB == b.fChargeB and
      92           0 :                 a.fChargeNB == b.fChargeNB;
      93             : }
      94             : 
      95             : inline bool operator != (
      96             :                 const AliHLTMUONClusterStruct& a,
      97             :                 const AliHLTMUONClusterStruct& b
      98             :         )
      99             : {
     100           0 :         return not operator == (a, b);
     101             : }
     102             : 
     103             : 
     104             : bool operator == (
     105             :                 const AliHLTMUONClustersBlockStruct& a,
     106             :                 const AliHLTMUONClustersBlockStruct& b
     107             :         );
     108             : 
     109             : inline bool operator != (
     110             :                 const AliHLTMUONClustersBlockStruct& a,
     111             :                 const AliHLTMUONClustersBlockStruct& b
     112             :         )
     113             : {
     114             :         return not operator == (a, b);
     115             : }
     116             : 
     117             : #endif // ALIHLTMUONCLUSTERSBLOCKSTRUCT_H

Generated by: LCOV version 1.11