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

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : //* This file is property of and copyright by the ALICE HLT Project        * 
       4             : //* ALICE Experiment at CERN, All rights reserved.                         *
       5             : //* See cxx source for full Copyright notice                               *
       6             : 
       7             : #ifndef ALIHLTTPCHWCFDIVISIONUNIT_H
       8             : #define ALIHLTTPCHWCFDIVISIONUNIT_H
       9             : 
      10             : #include "AliHLTTPCHWCFDataTypes.h"
      11             : #include "AliHLTLogging.h"
      12             : class TNtuple;
      13             : class TFile;
      14             : 
      15             : //  @class   AliHLTTPCHWCFDivisionUnit
      16             : //  @author Sergey Gorbunov <sergey.gorbunov@fias.uni-frankfurt.de>
      17             : //  @author Torsten Alt <talt@cern.ch> 
      18             : //  @brief  Division unit of FPGA ClusterFinder Emulator for TPC
      19             : //  @brief  ( see AliHLTTPCHWCFEmulator class )
      20             : //  @note
      21             : //
      22             : class AliHLTTPCHWCFDivisionUnit :public AliHLTLogging
      23             : {
      24             :  public:  
      25             : 
      26             :   static bool CompareMCWeights(const AliHLTTPCClusterMCWeight &a, const AliHLTTPCClusterMCWeight &b){
      27           0 :     return a.fWeight > b.fWeight;
      28             :   }
      29             :   static bool CompareMCLabels(const AliHLTTPCClusterMCWeight &a, const AliHLTTPCClusterMCWeight &b){
      30           0 :     return a.fMCID < b.fMCID;
      31             :   }
      32             :   
      33             :   /** standard constructor */
      34             :   AliHLTTPCHWCFDivisionUnit();
      35             :   
      36             :   /** destructor */
      37             :   ~AliHLTTPCHWCFDivisionUnit();
      38             : 
      39             :   /** set debug level */
      40           0 :   void SetDebugLevel( int val ){ fDebug = val; }
      41             : 
      42             :   /** Suppress clusters wich were not mmerged (except of clusters at branch borders)
      43             :    */
      44           0 :   void SetSinglePadSuppression( bool val ){ fSinglePadSuppression=val; }
      45             :   
      46             :   /** Lower charge limit for clusters 
      47             :    */
      48             :   void SetClusterLowerLimit( AliHLTUInt32_t val ){ 
      49           0 :     fClusterLowerLimit = val << AliHLTTPCHWCFDefinitions::kFixedPoint; 
      50           0 :   }
      51             :   
      52             :   /** set tagging of deconvoluted clusters
      53             :    **/
      54           0 :   void SetTagDeconvolutedClusters( AliHLTUInt32_t b ){ fTagDeconvolutedClusters = b; }
      55             : 
      56             :  /** initialise */
      57             :   int Init();
      58             :   
      59             :   /** input stream of data */
      60             :   int InputStream( const AliHLTTPCHWCFClusterFragment *fragment );
      61             : 
      62             :   /** output stream of data */
      63             :   const AliHLTTPCHWCFCluster *OutputStream();
      64             : 
      65             :  private: 
      66             :   
      67             :   /** copy constructor prohibited */
      68             :   AliHLTTPCHWCFDivisionUnit(const AliHLTTPCHWCFDivisionUnit&);
      69             :   /** assignment operator prohibited */
      70             :   AliHLTTPCHWCFDivisionUnit& operator=(const AliHLTTPCHWCFDivisionUnit&);  
      71             :   
      72             :   bool fSinglePadSuppression; // suppress not merged clusters
      73             :   AliHLTUInt64_t fClusterLowerLimit; // lower charge limit for clusters 
      74             :   AliHLTUInt32_t fTagDeconvolutedClusters; // way to tag deconvoluted clusters 
      75             :                                            // 0: no tagging 
      76             :                                            // 1: tag pad, tag time if one of the time sequences is deconvoluted 
      77             :                                            // 2: tag pad, tag time if 2 consecutive time sequences are deconvoluted 
      78             :   const AliHLTTPCHWCFClusterFragment *fkInput; // current input 
      79             :   AliHLTTPCHWCFCluster fOutput;  // current output
      80             :   int  fDebug; // debug level
      81             :   TNtuple *fDebugNtuple; // ntuple with some cluster parameters for debugging
      82             :   TFile * fDebugFile; // file with debug ntuple
      83             : };
      84             : 
      85             : #endif

Generated by: LCOV version 1.11