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

          Line data    Source code
       1             : #ifndef ALIHLTMUONMANSOTRACKERFSMCALLBACK_H
       2             : #define ALIHLTMUONMANSOTRACKERFSMCALLBACK_H
       3             : /**************************************************************************
       4             :  * This file is property of and copyright by the ALICE HLT Project        * 
       5             :  * All rights reserved.                                                   *
       6             :  *                                                                        *
       7             :  * Primary Authors:                                                       *
       8             :  *   Artur Szostak <artursz@iafrica.com>                                  *
       9             :  *                                                                        *
      10             :  * Permission to use, copy, modify and distribute this software and its   *
      11             :  * documentation strictly for non-commercial purposes is hereby granted   *
      12             :  * without fee, provided that the above copyright notice appears in all   *
      13             :  * copies and that both the copyright notice and this permission notice   *
      14             :  * appear in the supporting documentation. The authors make no claims     *
      15             :  * about the suitability of this software for any purpose. It is          * 
      16             :  * provided "as is" without express or implied warranty.                  *
      17             :  **************************************************************************/
      18             : 
      19             : // $Id$
      20             : 
      21             : /**
      22             :  *  @file   AliHLTMUONMansoTrackerFSMCallback.h
      23             :  *  @author Artur Szostak <artursz@iafrica.com>
      24             :  *  @date   
      25             :  *  @brief  This is the abstract callback interface required by the Finite
      26             :  *          State Machine (FSM) implementation of the Manso algorithm.
      27             :  */
      28             : 
      29             : #include "AliHLTMUONDataTypes.h"
      30             : #include <cassert>
      31             : 
      32             : class AliHLTMUONMansoTrackerFSM;
      33             : 
      34           6 : class AliHLTMUONMansoTrackerFSMCallback
      35             : {
      36             : public:
      37             : 
      38           6 :         virtual ~AliHLTMUONMansoTrackerFSMCallback() {};
      39             :         
      40             :         /* All clusters that fall within the specified boundary box on the specified
      41             :            chamber should be returned to the tracker, by calling the ReturnClusters
      42             :            method of the given tracker. The same tag parameter must be passed on the 
      43             :            ReturnClusters method's parameter list.
      44             :            @param left    The left border of the boundary box (x direction).
      45             :            @param right   The right border of the boundary box (x direction).
      46             :            @param bottom  The bottom border of the boundary box (y direction).
      47             :            @param top     The top border of the boundary box (y direction).
      48             :          */
      49             :         virtual void RequestClusters(
      50             :                         AliHLTMUONMansoTrackerFSM* tracker,
      51             :                         AliHLTFloat32_t left, AliHLTFloat32_t right,
      52             :                         AliHLTFloat32_t bottom, AliHLTFloat32_t top,
      53             :                         AliHLTMUONChamberName chamber, const void* tag
      54             :                 ) = 0;
      55             : 
      56             :         /* When this method is called then one knows no more RequestClusters method
      57             :            calls are expected.
      58             :          */
      59             :         virtual void EndOfClusterRequests(AliHLTMUONMansoTrackerFSM* tracker) = 0;
      60             : 
      61             :         /* This method is called when the tracker has found a track. The FillTrackData
      62             :            method of the given tracker should be called to receive the track data.
      63             :            At this point all cluster blocks can be released.
      64             :          */
      65             :         virtual void FoundTrack(AliHLTMUONMansoTrackerFSM* tracker) = 0;
      66             :         
      67             :         /* When the tracker is finished with its work but no track was found then
      68             :            this method is called. At this point no more work should be performed by
      69             :            the tracker and all cluster blocks can be released.
      70             :          */
      71             :         virtual void NoTrackFound(AliHLTMUONMansoTrackerFSM* tracker) = 0;
      72             : };
      73             : 
      74             : #endif // ALIHLTMUONMANSOTRACKERFSMCALLBACK_H

Generated by: LCOV version 1.11