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 */
8 /** @file AliHLTAgentUtil.h
9 @author Matthias Richter
11 @brief Agent of the libAliHLTUtil library
14 #include "AliHLTModuleAgent.h"
16 class AliHLTOUTHandler;
19 * @class AliHLTAgentUtil
20 * This is the agent for the AliHLTUtil library.
22 * @ingroup alihlt_system
24 class AliHLTAgentUtil : public AliHLTModuleAgent {
27 * standard constructor. The agent is automatically registered in the
28 * global agent manager
32 virtual ~AliHLTAgentUtil();
35 * Register all configurations belonging to this module with the
36 * AliHLTConfigurationHandler. The agent can adapt the configurations
37 * to be registered to the current AliRoot setup by checking the
39 * @param handler [in] the configuration handler
40 * @param rawReader [in] AliRoot RawReader instance
41 * @param runloader [in] AliRoot runloader
42 * @return neg. error code if failed
44 int CreateConfigurations(AliHLTConfigurationHandler* handler,
45 AliRawReader* rawReader=NULL,
46 AliRunLoader* runloader=NULL) const;
49 * Get the top configurations belonging to this module.
50 * A top configuration describes a processing chain. It can simply be
51 * described by the last configuration(s) in the chain.
52 * The agent can adapt the configurations to be registered to the current
53 * AliRoot setup by checking the runloader.
54 * @param rawReader [in] AliRoot RawReader instance
55 * @param runloader [in] AliRoot runloader
56 * @return string containing the top configurations separated by blanks
58 const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
59 AliRunLoader* runloader=NULL) const;
61 * Component libraries which the configurations of this agent depend on.
62 * @return list of component libraries as a blank-separated string.
64 const char* GetRequiredComponentLibraries() const;
67 * Register components for the AliHLTUtil library.
68 * @param pHandler [in] instance of the component handler
70 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
72 int GetHandlerDescription(AliHLTComponentDataType dt,
74 AliHLTOUTHandlerDesc& desc) const;
76 AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, AliHLTUInt32_t spec);
78 int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
83 /** copy constructor prohibited */
84 AliHLTAgentUtil(const AliHLTAgentUtil&);
85 /** assignment operator prohibited */
86 AliHLTAgentUtil& operator=(const AliHLTAgentUtil&);
88 /** the one and only handler for compstat blocks */
89 AliHLTOUTHandler* fCompStatDataHandler; //!transient
91 ClassDef(AliHLTAgentUtil, 1);