LCOV - code coverage report
Current view: top level - HLT/BASE/util - AliHLTAgentUtil.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 4 25.0 %
Date: 2016-06-14 17:26:59 Functions: 1 14 7.1 %

          Line data    Source code
       1             : // @(#) $Id$
       2             : 
       3             : #ifndef ALIHLTAGENTUTIL_H
       4             : #define ALIHLTAGENTUTIL_H
       5             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       6             :  * See cxx source for full Copyright notice                               */
       7             : 
       8             : /** @file   AliHLTAgentUtil.h
       9             :     @author Matthias Richter
      10             :     @date   
      11             :     @brief  Agent of the libAliHLTUtil library
      12             : */
      13             : 
      14             : #include "AliHLTModuleAgent.h"
      15             : #include "AliHLTOUTHandler.h"
      16             : 
      17             : class AliHLTOUTHandler;
      18             : 
      19             : /**
      20             :  * @class AliHLTAgentUtil
      21             :  * This is the agent for the AliHLTUtil library.
      22             :  *
      23             :  * @ingroup alihlt_system
      24             :  */
      25             : class AliHLTAgentUtil : public AliHLTModuleAgent {
      26             :  public:
      27             :   /**
      28             :    * standard constructor. The agent is automatically registered in the
      29             :    * global agent manager
      30             :    */
      31             :   AliHLTAgentUtil();
      32             :   /** destructor */
      33             :   virtual ~AliHLTAgentUtil();
      34             : 
      35             :   /**
      36             :    * Register all configurations belonging to this module with the
      37             :    * AliHLTConfigurationHandler. The agent can adapt the configurations
      38             :    * to be registered to the current AliRoot setup by checking the
      39             :    * runloader.
      40             :    * @param handler   [in] the configuration handler
      41             :    * @param rawReader [in] AliRoot RawReader instance 
      42             :    * @param runloader [in] AliRoot runloader
      43             :    * @return neg. error code if failed
      44             :    */
      45             :   int CreateConfigurations(AliHLTConfigurationHandler* handler,
      46             :                            AliRawReader* rawReader=NULL,
      47             :                            AliRunLoader* runloader=NULL) const;
      48             : 
      49             :   /**
      50             :    * Get the top configurations belonging to this module.
      51             :    * A top configuration describes a processing chain. It can simply be
      52             :    * described by the last configuration(s) in the chain. 
      53             :    * The agent can adapt the configurations to be registered to the current
      54             :    * AliRoot setup by checking the runloader.
      55             :    * @param rawReader [in] AliRoot RawReader instance 
      56             :    * @param runloader [in] AliRoot runloader
      57             :    * @return string containing the top configurations separated by blanks
      58             :    */
      59             :   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
      60             :                                       AliRunLoader* runloader=NULL) const;
      61             :   /**
      62             :    * Component libraries which the configurations of this agent depend on.
      63             :    * @return list of component libraries as a blank-separated string.
      64             :    */
      65             :   const char* GetRequiredComponentLibraries() const;
      66             : 
      67             :   /**
      68             :    * Register components for the AliHLTUtil library.
      69             :    * @param pHandler  [in] instance of the component handler          
      70             :    */
      71             :   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
      72             : 
      73             :   int GetHandlerDescription(AliHLTComponentDataType dt,
      74             :                             AliHLTUInt32_t spec,
      75             :                             AliHLTOUTHandlerDesc& desc) const;
      76             : 
      77             :   AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, AliHLTUInt32_t spec);
      78             : 
      79             :   int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
      80             : 
      81             :   /**
      82             :    * The handler for trigger decision blocks in the HLTOUT stream.
      83             :    */
      84             :   class AliHLTStreamerInfoHandler : public AliHLTOUTHandler {
      85             :   public:
      86             :     /** constructor */
      87           0 :     AliHLTStreamerInfoHandler() {};
      88             :     /** destructor */
      89           0 :     ~AliHLTStreamerInfoHandler() {};
      90             : 
      91             :     /// inherited from AliHLTOUTHandler
      92             :     /// do nothing for the moment, the streamer info is handled
      93             :     /// in AliHLTReconstructor
      94           0 :     int ProcessData(AliHLTOUT* /*pData*/) {return 0;}
      95             : 
      96             :   private:
      97             :     /** copy constructor forbidden */
      98             :     AliHLTStreamerInfoHandler(const AliHLTStreamerInfoHandler&);
      99             :     /** assignment operator forbidden */
     100             :     AliHLTStreamerInfoHandler& operator=(const AliHLTStreamerInfoHandler&);
     101             :   };
     102             :  protected:
     103             : 
     104             :  private:
     105             :   /** copy constructor prohibited */
     106             :   AliHLTAgentUtil(const AliHLTAgentUtil&);
     107             :   /** assignment operator prohibited */
     108             :   AliHLTAgentUtil& operator=(const AliHLTAgentUtil&);
     109             : 
     110             :   /** the one and only handler for compstat blocks */
     111             :   AliHLTOUTHandler* fCompStatDataHandler; //!transient
     112             : 
     113             :   /** dummy handler for streamer info blocks */
     114             :   AliHLTOUTHandler* fStreamerInfoDataHandler; //!transient
     115             :   
     116           8 :   ClassDef(AliHLTAgentUtil, 1);
     117             : };
     118             : 
     119             : #endif

Generated by: LCOV version 1.11