LCOV - code coverage report
Current view: top level - HLT/ITS/trackingSAP - AliHLTITSSAPTrackerComponent.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 1 100.0 %
Date: 2016-06-14 17:26:59 Functions: 1 5 20.0 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id$
       3             : // ************************************************************************
       4             : // This file is property of and copyright by the ALICE HLT Project        *
       5             : // ALICE Experiment at CERN, All rights reserved.                         *
       6             : // See cxx source for full Copyright notice                               *
       7             : //                                                                        *
       8             : //*************************************************************************
       9             : 
      10             : ///  @file   AliHLTITSSAPTrackerComponent.h
      11             : ///  @author Ruben Shahoyan <ruben.shahoyan@cern.ch>
      12             : ///  @date   August 2014
      13             : ///  @brief  An ITS standalone primaries tracker/vertexer processing component for the HLT
      14             : ///  Adapted from HLT/ITS/tracking/AliHLTITSTrackerComponent component
      15             : 
      16             : #ifndef ALIHLTITSSAPTRACKERCOMPONENT_H
      17             : #define ALIHLTITSSAPTRACKERCOMPONENT_H
      18             : 
      19             : #include "AliHLTProcessor.h"
      20             : #include "AliHLTDataTypes.h"
      21             : #include "AliHLTComponentBenchmark.h"
      22             : #include "AliRecoParam.h"
      23             : class AliITSSAPTracker;
      24             : class TClonesArray;
      25             : 
      26             : /**
      27             :  * @class AliHLTITSSAPTrackerComponent
      28             :  * The HL ITS standalone primaries tracker/vertexer component.
      29             :  *
      30             :  * <h2>General properties:</h2>
      31             :  *
      32             :  * Component ID: \b ITSSAPTracker                              <br>
      33             :  * Library: \b libAliHLTITS.so                              <br>
      34             :  * Input Data Types:                                        <br> 
      35             :  *    kAliHLTDataTypeTrack|kAliHLTDataOriginTPC             <br>
      36             :  *    kAliHLTDataTypeClusters|kAliHLTDataOriginITSSSD       <br>
      37             :  *    kAliHLTDataTypeClusters|kAliHLTDataOriginITSSPD       <br>
      38             :  *    kAliHLTDataTypeClusters|kAliHLTDataOriginITSSDD       <br>
      39             :  *      
      40             :  * Output Data Types:                                       <br>
      41             :  *    kAliHLTDataTypeTrack|kAliHLTDataOriginITS             <br>
      42             :  *
      43             :  * <h2>Mandatory arguments:</h2>
      44             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      45             :  *
      46             :  * <h2>Optional arguments:</h2>
      47             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      48             :  *
      49             :  * <h2>Configuration:</h2>
      50             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      51             :  * \li -config1      <i> teststring   </i> <br>
      52             :  *      a configuration argument with one parameter
      53             :  * \li -config2                            <br>
      54             :  *      a configuration argument without parameters
      55             :  *
      56             :  * <h2>Default CDB entries:</h2>
      57             :  *
      58             :  * ITS/Align/Data
      59             :  * ITS/Calib/SPDNoisy
      60             :  * ITS/Calib/SPDDead
      61             :  * ITS/Calib/PITConditions
      62             :  * ITS/Calib/CalibSDD
      63             :  * ITS/Calib/RespSDD
      64             :  * ITS/Calib/DriftSpeedSDD
      65             :  * ITS/Calib/DDLMapSDD
      66             :  * ITS/Calib/MapsTimeSDD
      67             :  * ITS/Calib/NoiseSSD
      68             :  * ITS/Calib/GainSSD
      69             :  * ITS/Calib/BadChannelsSSD
      70             :  * ITS/Calib/RecoParam
      71             :  *
      72             :  * <h2>Performance:</h2>
      73             :  * TODO
      74             :  *
      75             :  * <h2>Memory consumption:</h2>
      76             :  * TODO
      77             :  *
      78             :  * <h2>Output size:</h2>
      79             :  * TODO
      80             :  * 
      81             :  * @ingroup alihlt_its_components
      82             :  */
      83             : class AliHLTITSSAPTrackerComponent : public AliHLTProcessor
      84             : {
      85             : public:
      86             :   /** standard constructor */
      87             :   AliHLTITSSAPTrackerComponent();
      88             : 
      89             :   /** dummy copy constructor, defined according to effective C++ style */
      90             :   AliHLTITSSAPTrackerComponent( const AliHLTITSSAPTrackerComponent& );
      91             : 
      92             :   /** dummy assignment op, but defined according to effective C++ style */
      93             :   AliHLTITSSAPTrackerComponent& operator=( const AliHLTITSSAPTrackerComponent& );
      94             : 
      95             :   /** standard destructor */
      96             :   virtual ~AliHLTITSSAPTrackerComponent();
      97             : 
      98             :   // Public functions to implement AliHLTComponent's interface.
      99             :   // These functions are required for the registration process
     100             : 
     101             :   /** @see component interface @ref AliHLTComponent::GetComponentID */
     102             :   const char* GetComponentID() ;
     103             : 
     104             :   /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
     105             :   void GetInputDataTypes( vector<AliHLTComponentDataType>& list )  ;
     106             : 
     107             :   /** @see component interface @ref AliHLTComponent::GetOutputDataType */
     108             :   AliHLTComponentDataType GetOutputDataType() ;
     109             : 
     110             :   /** @see component interface @ref AliHLTComponent::GetOutputDataType */
     111             :   int  GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
     112             : 
     113             :   /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
     114             :   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) ;
     115             : 
     116             :   /** @see component interface @ref AliHLTComponent::Spawn */
     117             :   AliHLTComponent* Spawn() ;
     118             : 
     119             : protected:
     120             : 
     121             :   // Protected functions to implement AliHLTComponent's interface.
     122             :   // These functions provide initialization as well as the actual processing
     123             :   // capabilities of the component.
     124             : 
     125             :   /** @see component interface @ref AliHLTComponent::DoInit */
     126             :   int DoInit( int argc, const char** argv );
     127             : 
     128             :   /** @see component interface @ref AliHLTComponent::DoDeinit */
     129             :   int DoDeinit();
     130             : 
     131             :   /** reconfigure **/
     132             :   int Reconfigure( const char* cdbEntry, const char* chainId );
     133             : 
     134             :   /** @see component interface @ref AliHLTProcessor::DoEvent */
     135             :   int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
     136             :                AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
     137             :                AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
     138             : 
     139             : private:
     140             :   /** type of imposed recoparam:   
     141             :       kDefault=1,kLowMult = 2,kHighMult=4,kCosmic=8,kCalib = 16 **/
     142             :   AliRecoParam::EventSpecie_t fRecoParamType; // event type imposed
     143             : 
     144             :   /** if fSkipSDD>=0, forbid or allow to use sdd, otherwise rely on recoparam **/
     145             :   int fSkipSDD;   // skip sdd layers even if data are shipped by HLT
     146             : 
     147             :   int fMaxMissL;  // max number of active layers track can miss
     148             : 
     149             :   int fMaxTrackletsToRun; // don't run tracking if Ntracklets above this value
     150             : 
     151             :   int fMaxVtxIter;        // max iteration for vertexer
     152             :   
     153             :   float fStopScaleChange; // min scale change in vertexer to stop iterations
     154             : 
     155             :   float fMaxRSPDVtx;      // max R of SPD vertex to accept
     156             : 
     157             :   AliHLTComponentBenchmark fBenchmark;// benchmark
     158             :   AliITSSAPTracker *fTracker; // the tracker itself
     159             : 
     160             :   /** set configuration parameters **/
     161             :   void SetDefaultConfiguration();
     162             :   int ReadConfigurationString(  const char* arguments );
     163             :   int ReadCDBEntry( const char* cdbEntry, const char* chainId );
     164             :   int Configure( const char* cdbEntry, const char* chainId, const char *commandLine  );
     165             : 
     166             :   TClonesArray* fClusters;
     167             : 
     168           6 :   ClassDef( AliHLTITSSAPTrackerComponent, 0 );
     169             : 
     170             : };
     171             : #endif

Generated by: LCOV version 1.11