LCOV - code coverage report
Current view: top level - HLT/ITS/tracking - AliHLTITSTrackerComponent.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   AliHLTITSTrackerComponent.h
      11             : ///  @author Sergey Gorbunov <sergey.gorbunov@kip.uni-heidelberg.de>
      12             : ///  @date   June 2009
      13             : ///  @brief  An ITS tracker processing component for the HLT
      14             : 
      15             : #ifndef ALIHLTITSTRACKERCOMPONENT_H
      16             : #define ALIHLTITSTRACKERCOMPONENT_H
      17             : 
      18             : #include "AliHLTProcessor.h"
      19             : #include "AliHLTDataTypes.h"
      20             : #include "AliHLTComponentBenchmark.h"
      21             : class AliITStrackerHLT;
      22             : 
      23             : 
      24             : /**
      25             :  * @class AliHLTITSTrackerComponent
      26             :  * The HL ITS tracker component.
      27             :  *
      28             :  * <h2>General properties:</h2>
      29             :  *
      30             :  * Component ID: \b ITSTracker                              <br>
      31             :  * Library: \b libAliHLTITS.so                              <br>
      32             :  * Input Data Types:                                        <br> 
      33             :  *    kAliHLTDataTypeTrack|kAliHLTDataOriginTPC             <br>
      34             :  *    kAliHLTDataTypeClusters|kAliHLTDataOriginITSSSD       <br>
      35             :  *    kAliHLTDataTypeClusters|kAliHLTDataOriginITSSPD       <br>
      36             :  *    kAliHLTDataTypeClusters|kAliHLTDataOriginITSSDD       <br>
      37             :  *      
      38             :  * Output Data Types:                                       <br>
      39             :  *    kAliHLTDataTypeTrack|kAliHLTDataOriginITS             <br>
      40             :  *
      41             :  * <h2>Mandatory arguments:</h2>
      42             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      43             :  *
      44             :  * <h2>Optional arguments:</h2>
      45             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      46             :  *
      47             :  * <h2>Configuration:</h2>
      48             :  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
      49             :  * \li -config1      <i> teststring   </i> <br>
      50             :  *      a configuration argument with one parameter
      51             :  * \li -config2                            <br>
      52             :  *      a configuration argument without parameters
      53             :  *
      54             :  * <h2>Default CDB entries:</h2>
      55             :  *
      56             :  * ITS/Align/Data
      57             :  * ITS/Calib/SPDNoisy
      58             :  * ITS/Calib/SPDDead
      59             :  * ITS/Calib/PITConditions
      60             :  * ITS/Calib/CalibSDD
      61             :  * ITS/Calib/RespSDD
      62             :  * ITS/Calib/DriftSpeedSDD
      63             :  * ITS/Calib/DDLMapSDD
      64             :  * ITS/Calib/MapsTimeSDD
      65             :  * ITS/Calib/NoiseSSD
      66             :  * ITS/Calib/GainSSD
      67             :  * ITS/Calib/BadChannelsSSD
      68             :  *
      69             :  * <h2>Performance:</h2>
      70             :  * TODO
      71             :  *
      72             :  * <h2>Memory consumption:</h2>
      73             :  * TODO
      74             :  *
      75             :  * <h2>Output size:</h2>
      76             :  * TODO
      77             :  * 
      78             :  * @ingroup alihlt_its_components
      79             :  */
      80             : class AliHLTITSTrackerComponent : public AliHLTProcessor
      81             : {
      82             :   public:
      83             :     /** standard constructor */
      84             :     AliHLTITSTrackerComponent();
      85             : 
      86             :     /** dummy copy constructor, defined according to effective C++ style */
      87             :     AliHLTITSTrackerComponent( const AliHLTITSTrackerComponent& );
      88             : 
      89             :     /** dummy assignment op, but defined according to effective C++ style */
      90             :     AliHLTITSTrackerComponent& operator=( const AliHLTITSTrackerComponent& );
      91             : 
      92             :     /** standard destructor */
      93             :     virtual ~AliHLTITSTrackerComponent();
      94             : 
      95             :     // Public functions to implement AliHLTComponent's interface.
      96             :     // These functions are required for the registration process
      97             : 
      98             :     /** @see component interface @ref AliHLTComponent::GetComponentID */
      99             :     const char* GetComponentID() ;
     100             : 
     101             :     /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
     102             :     void GetInputDataTypes( vector<AliHLTComponentDataType>& list )  ;
     103             : 
     104             :     /** @see component interface @ref AliHLTComponent::GetOutputDataType */
     105             :     AliHLTComponentDataType GetOutputDataType() ;
     106             : 
     107             :     /** @see component interface @ref AliHLTComponent::GetOutputDataType */
     108             :     int  GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
     109             : 
     110             :     /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
     111             :     virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) ;
     112             : 
     113             :     /** @see component interface @ref AliHLTComponent::Spawn */
     114             :     AliHLTComponent* Spawn() ;
     115             : 
     116             :   protected:
     117             : 
     118             :     // Protected functions to implement AliHLTComponent's interface.
     119             :     // These functions provide initialization as well as the actual processing
     120             :     // capabilities of the component.
     121             : 
     122             :     /** @see component interface @ref AliHLTComponent::DoInit */
     123             :     int DoInit( int argc, const char** argv );
     124             : 
     125             :     /** @see component interface @ref AliHLTComponent::DoDeinit */
     126             :     int DoDeinit();
     127             : 
     128             :     /** reconfigure **/
     129             :     int Reconfigure( const char* cdbEntry, const char* chainId );
     130             : 
     131             :     /** @see component interface @ref AliHLTProcessor::DoEvent */
     132             :     int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
     133             :                  AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
     134             :                  AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
     135             : 
     136             :   private:
     137             : 
     138             :     /** magnetic field */
     139             :     double fSolenoidBz;                                            // see above
     140             :     AliHLTComponentBenchmark fBenchmark;// benchmark
     141             :     AliITStrackerHLT *fTracker; // the tracker itself
     142             : 
     143             :     /** set configuration parameters **/
     144             :     void SetDefaultConfiguration();
     145             :     int ReadConfigurationString(  const char* arguments );
     146             :     int ReadCDBEntry( const char* cdbEntry, const char* chainId );
     147             :     int Configure( const char* cdbEntry, const char* chainId, const char *commandLine  );
     148             : 
     149           6 :     ClassDef( AliHLTITSTrackerComponent, 0 );
     150             : 
     151             : };
     152             : #endif

Generated by: LCOV version 1.11