LCOV - code coverage report
Current view: top level - HLT/MUON - AliHLTMUONTriggerRecordsBlockStruct.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 ALIHLTMUONTRIGGERRECORDSBLOCKSTRUCT_H
       2             : #define ALIHLTMUONTRIGGERRECORDSBLOCKSTRUCT_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   AliHLTMUONTriggerRecordsBlockStruct.h
      10             :  * @author Artur Szostak <artursz@iafrica.com>
      11             :  * @date   18 May 2007
      12             :  * @brief  Definition of internal dimuon HLT trigger record data block structure.
      13             :  *
      14             :  * The structures are defined with C linkage since C generally gives us more
      15             :  * binary compatibility between compilers.
      16             :  */
      17             : 
      18             : #include "AliHLTMUONRecHitsBlockStruct.h"
      19             : 
      20             : extern "C"
      21             : {
      22             : 
      23             : /**
      24             :  * Trigger record structures containing information decoded from the dimuon
      25             :  * spectrometer's hardware trigger electronics.
      26             :  */
      27             : struct AliHLTMUONTriggerRecordStruct
      28             : {
      29             :         AliHLTInt32_t fId; // Each trigger record should have an ID number unique
      30             :                            // for a given event. -1 == invalid.
      31             : 
      32             :         // The flags word constains the following bit fields (bit 31 is most
      33             :         // significant):
      34             :         // bits:  [31][30][29 --- 4][  3   ][  2   ][  1   ][  0   ]
      35             :         // field:  -   +   reserved  hst[3]  hst[2]  hst[1]  hst[0]
      36             :         // Where fields hst[i] indicates if fHit[i] has been filled/set.
      37             :         // Reserved bits should be set to zero.
      38             :         // Particle sign: if '-' is set then particle has minus sign.
      39             :         //                if '+' is set then particle has negative sign.
      40             :         // Either '+' or '-' should be set and if neither then the particle
      41             :         // sign is unknown.
      42             :         AliHLTUInt32_t fFlags;
      43             : 
      44             :         AliHLTFloat32_t fPx; // Particle momentum X component in GeV/c.
      45             :         AliHLTFloat32_t fPy; // Particle momentum Y component in GeV/c.
      46             :         AliHLTFloat32_t fPz; // Particle momentum Z component in GeV/c.
      47             : 
      48             :         // Particle hit coordinates on trigger chambers 11 to 14.
      49             :         AliHLTMUONRecHitStruct fHit[4];
      50             : };
      51             : 
      52             : /**
      53             :  * AliHLTMUONTriggerRecordsBlockStruct defines the format of the internal
      54             :  * trigger records data block.
      55             :  */
      56             : struct AliHLTMUONTriggerRecordsBlockStruct
      57             : {
      58             :         AliHLTMUONDataBlockHeader fHeader; // Common data block header
      59             : 
      60             :         // Array of trigger records.
      61             :         //AliHLTMUONTriggerRecordStruct fTriggerRecord[/*fHeader.fNrecords*/];
      62             : };
      63             : 
      64             : } // extern "C"
      65             : 
      66             : 
      67             : /**
      68             :  * Stream operator for usage with std::ostream classes which prints the trigger
      69             :  * record in the following format:
      70             :  *  {fId = xx, fFlags = 0xYY, fPx = uu, fPy = vv, fPz = ww, fHit[0] = {...},
      71             :  *   fHit[1] = {...}, fHit[2] = {...}, fHit[3] = {...}}
      72             :  */
      73             : std::ostream& operator << (
      74             :                 std::ostream& stream, const AliHLTMUONTriggerRecordStruct& trigrec
      75             :         );
      76             : 
      77             : /**
      78             :  * Stream operator for usage with std::ostream classes which prints the
      79             :  * AliHLTMUONTriggerRecordsBlockStruct in the following format:
      80             :  *   {fHeader = xx, fTriggerRecord[] = [{..}, {..}, ...]}
      81             :  */
      82             : std::ostream& operator << (
      83             :                 std::ostream& stream, const AliHLTMUONTriggerRecordsBlockStruct& block
      84             :         );
      85             : 
      86             : 
      87             : inline bool operator == (
      88             :                 const AliHLTMUONTriggerRecordStruct& a,
      89             :                 const AliHLTMUONTriggerRecordStruct& b
      90             :         )
      91             : {
      92           0 :         return a.fId == b.fId and a.fFlags == b.fFlags
      93           0 :                 and a.fPx == b.fPx and a.fPy == b.fPy and a.fPz == b.fPz
      94           0 :                 and a.fHit[0] == b.fHit[0] and a.fHit[1] == b.fHit[1]
      95           0 :                 and a.fHit[2] == b.fHit[2] and a.fHit[3] == b.fHit[3];
      96             : }
      97             : 
      98             : inline bool operator != (
      99             :                 const AliHLTMUONTriggerRecordStruct& a,
     100             :                 const AliHLTMUONTriggerRecordStruct& b
     101             :         )
     102             : {
     103           0 :         return not operator == (a, b);
     104             : }
     105             : 
     106             : 
     107             : bool operator == (
     108             :                 const AliHLTMUONTriggerRecordsBlockStruct& a,
     109             :                 const AliHLTMUONTriggerRecordsBlockStruct& b
     110             :         );
     111             : 
     112             : inline bool operator != (
     113             :                 const AliHLTMUONTriggerRecordsBlockStruct& a,
     114             :                 const AliHLTMUONTriggerRecordsBlockStruct& b
     115             :         )
     116             : {
     117             :         return not operator == (a, b);
     118             : }
     119             : 
     120             : #endif // ALIHLTMUONTRIGGERRECORDSBLOCKSTRUCT_H

Generated by: LCOV version 1.11