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

          Line data    Source code
       1             : #ifndef ALIHLTMUONMANSOCANDIDATESBLOCKSTRUCT_H
       2             : #define ALIHLTMUONMANSOCANDIDATESBLOCKSTRUCT_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   AliHLTMUONMansoCandidatesBlockStruct.h
      10             :  * @author Artur Szostak <artursz@iafrica.com>
      11             :  * @date   21 May 2007
      12             :  * @brief  Definition of internal dimuon HLT track candidates data block structure generated by the Manso algorithm.
      13             :  *
      14             :  * The structures are defined with C linkage since C generally gives us more
      15             :  * binary compatibility between compilers.
      16             :  */
      17             : 
      18             : #include "AliHLTMUONMansoTracksBlockStruct.h"
      19             : 
      20             : extern "C"
      21             : {
      22             : 
      23             : /**
      24             :  * Structure containing information about a region of interest (RoI) used in
      25             :  * the Manso algorithm to find track candidates.
      26             :  */
      27             : struct AliHLTMUONMansoRoIStruct
      28             : {
      29             :         AliHLTFloat32_t fX; // The X coordinate for the RoI disc centre.
      30             :         AliHLTFloat32_t fY; // The Y coordinate for the RoI disc centre.
      31             :         AliHLTFloat32_t fZ; // The detection plane Z coordinate in which the RoI is in.
      32             :         AliHLTFloat32_t fRadius; // The radius of the RoI disc.
      33             : };
      34             : 
      35             : /**
      36             :  * This structure contains information about a track candidate that was attempted
      37             :  * during track reconstruction in the Manso algorithm. The regions of interests
      38             :  * used are indicated including the partially reconstructed track.
      39             :  */
      40             : struct AliHLTMUONMansoCandidateStruct
      41             : {
      42             :         // The partially of fully reconstructed track.
      43             :         AliHLTMUONMansoTrackStruct fTrack;
      44             :         
      45             :         // The regions of interest searched on the various chambers.
      46             :         // fRoI[0] is region of interest on chamber 7, fRoI[1] is on 8 etc...
      47             :         AliHLTMUONMansoRoIStruct fRoI[4];
      48             :         
      49             :         // The parameters used for momentum estimation:
      50             :         AliHLTFloat32_t fZmiddle; // Z position in the middle of the magnetic field in centimetres.
      51             :         AliHLTFloat32_t fBl; // The integrated magnetic field in (T.m) tesla metres.
      52             : };
      53             : 
      54             : /**
      55             :  * AliHLTMUONMansoCandidatesBlockStruct defines the format of the internal
      56             :  * Manso track candidates data block.
      57             :  */
      58             : struct AliHLTMUONMansoCandidatesBlockStruct
      59             : {
      60             :         AliHLTMUONDataBlockHeader fHeader; // Common data block header.
      61             : 
      62             :         // Array of Manso track candidates.
      63             :         //AliHLTMUONMansoCandidateStruct fCandidate[/*fHeader.fNrecords*/];
      64             : };
      65             : 
      66             : } // extern "C"
      67             : 
      68             : 
      69             : /**
      70             :  * Stream operator for usage with std::ostream classes which prints the RoI
      71             :  * information in the following format:
      72             :  *  {fX = xx, fY = yy, fZ = zz, fRadius = rr}
      73             :  */
      74             : std::ostream& operator << (
      75             :                 std::ostream& stream, const AliHLTMUONMansoRoIStruct& roi
      76             :         );
      77             : 
      78             : /**
      79             :  * Stream operator for usage with std::ostream classes which prints the track
      80             :  * candidate information in the following format:
      81             :  *  {fTrack = xx, fRoI[0] = {...}, fRoI[1] = {...}, fRoI[2] = {...}, fRoI[3] = {...}, fZmiddle = yy, fBl = zz}
      82             :  */
      83             : std::ostream& operator << (
      84             :                 std::ostream& stream, const AliHLTMUONMansoCandidateStruct& candidate
      85             :         );
      86             : 
      87             : /**
      88             :  * Stream operator for usage with std::ostream classes which prints the
      89             :  * AliHLTMUONMansoCandidatesBlockStruct in the following format:
      90             :  *   {fHeader = xx, fCandidate[] = [{..}, {..}, ...]}
      91             :  */
      92             : std::ostream& operator << (
      93             :                 std::ostream& stream,
      94             :                 const AliHLTMUONMansoCandidatesBlockStruct& block
      95             :         );
      96             : 
      97             : 
      98             : inline bool operator == (
      99             :                 const AliHLTMUONMansoRoIStruct& a,
     100             :                 const AliHLTMUONMansoRoIStruct& b
     101             :         )
     102             : {
     103           0 :         return a.fX == b.fX and a.fY == b.fY and a.fZ == b.fZ
     104           0 :                 and a.fRadius == b.fRadius;
     105             : }
     106             : 
     107             : inline bool operator == (
     108             :                 const AliHLTMUONMansoCandidateStruct& a,
     109             :                 const AliHLTMUONMansoCandidateStruct& b
     110             :         )
     111             : {
     112           0 :         return a.fTrack == b.fTrack
     113           0 :                 and a.fRoI[0] == b.fRoI[0] and a.fRoI[1] == b.fRoI[1]
     114           0 :                 and a.fRoI[2] == b.fRoI[2] and a.fRoI[3] == b.fRoI[3]
     115           0 :                 and a.fZmiddle == b.fZmiddle and a.fBl == b.fBl;
     116             : }
     117             : 
     118             : inline bool operator != (
     119             :                 const AliHLTMUONMansoCandidateStruct& a,
     120             :                 const AliHLTMUONMansoCandidateStruct& b
     121             :         )
     122             : {
     123           0 :         return not operator == (a, b);
     124             : }
     125             : 
     126             : 
     127             : bool operator == (
     128             :                 const AliHLTMUONMansoCandidatesBlockStruct& a,
     129             :                 const AliHLTMUONMansoCandidatesBlockStruct& b
     130             :         );
     131             : 
     132             : inline bool operator != (
     133             :                 const AliHLTMUONMansoCandidatesBlockStruct& a,
     134             :                 const AliHLTMUONMansoCandidatesBlockStruct& b
     135             :         )
     136             : {
     137             :         return not operator == (a, b);
     138             : }
     139             : 
     140             : #endif // ALIHLTMUONMANSOCANDIDATESBLOCKSTRUCT_H

Generated by: LCOV version 1.11