4 #ifndef ALIHLTGLOBALAGENT_H
5 #define ALIHLTGLOBALAGENT_H
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved. *
8 //* See cxx source for full Copyright notice */
10 // @file AliHLTGlobalAgent.h
11 // @author Matthias Richter
13 // @brief Agent of the libAliHLTGlobal library
16 #include "AliHLTModuleAgent.h"
18 class AliHLTOUTHandler;
21 * @class AliHLTGlobalAgent
22 * This is the agent for the AliHLTGlobal library.
24 * @ingroup alihlt_system
26 class AliHLTGlobalAgent : public AliHLTModuleAgent {
29 * standard constructor. The agent is automatically registered in the
30 * global agent manager
34 virtual ~AliHLTGlobalAgent();
36 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
39 * Inherited from AliHLTModuleAgent
40 * Register all configurations belonging to this module with the
41 * AliHLTConfigurationHandler. The agent can adapt the configurations
42 * to be registered to the current AliRoot setup by checking the
44 * @param handler the configuration handler
45 * @param rawReader AliRawReader instance
46 * @param runloader AliRoot runloader
47 * @return neg. error code if failed
49 int CreateConfigurations(AliHLTConfigurationHandler* handler,
50 AliRawReader* rawReader=NULL,
51 AliRunLoader* runloader=NULL) const;
54 * Inherited from AliHLTModuleAgent
55 * Get the top configurations belonging to this module.
56 * A top configuration describes a processing chain. It can simply be
57 * described by the last configuration(s) in the chain.
58 * The agent can adapt the configurations to be registered to the current
59 * AliRoot setup by checking the runloader.
60 * @param rawReader AliRawReader instance
61 * @param runloader AliRoot runloader
62 * @return number of configurations, neg. error code if failed
64 const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
65 AliRunLoader* runloader=NULL) const;
68 * Inherited from AliHLTModuleAgent
69 * Component libraries which the configurations of this agent depend on.
70 * @return list of component libraries as a blank-separated string.
72 const char* GetRequiredComponentLibraries() const;
74 int GetHandlerDescription(AliHLTComponentDataType dt,
76 AliHLTOUTHandlerDesc& desc) const;
78 AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, AliHLTUInt32_t spec);
80 int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
82 AliHLTModulePreprocessor* GetPreprocessor();
87 /** copy constructor prohibited */
88 AliHLTGlobalAgent(const AliHLTGlobalAgent&);
89 /** assignment operator prohibited */
90 AliHLTGlobalAgent& operator=(const AliHLTGlobalAgent&);
92 ClassDef(AliHLTGlobalAgent, 0);