- implemented component registration via agents
[u/mrichter/AliRoot.git] / HLT / sim / AliHLTAgentSim.h
CommitLineData
c4228ec4 1// @(#) $Id$
2
3#ifndef ALIHLTAGENTSIM_H
4#define ALIHLTAGENTSIM_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTAgentSim.h
9 @author Matthias Richter
10 @date
11 @brief Agent of the libHLTsim library
12*/
13
14// see class description below
15// or
16// refer to README to build package
17// or
18// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
19
20#include "AliHLTModuleAgent.h"
21
22/**
23 * @class AliHLTAgentSim
24 * This is the agent for the HLTsim library.
25 *
26 * @ingroup alihlt_system
27 */
28class AliHLTAgentSim : public AliHLTModuleAgent {
29 public:
30 /**
31 * standard constructor. The agent is automatically registered in the
32 * global agent manager
33 */
34 AliHLTAgentSim();
35 /** destructor */
36 virtual ~AliHLTAgentSim();
37
38 /**
39 * Register all configurations belonging to this module with the
40 * AliHLTConfigurationHandler. The agent can adapt the configurations
41 * to be registered to the current AliRoot setup by checking the
42 * runloader.
43 * @param handler [in] the configuration handler
44 * @param rawReader [in] AliRoot RawReader instance
45 * @param runloader [in] AliRoot runloader
46 * @return neg. error code if failed
47 */
48 int CreateConfigurations(AliHLTConfigurationHandler* handler,
49 AliRawReader* rawReader=NULL,
50 AliRunLoader* runloader=NULL) const;
51
52 /**
53 * Get the top configurations belonging to this module.
54 * A top configuration describes a processing chain. It can simply be
55 * described by the last configuration(s) in the chain.
56 * The agent can adapt the configurations to be registered to the current
57 * AliRoot setup by checking the runloader.
58 * @param rawReader [in] AliRoot RawReader instance
59 * @param runloader [in] AliRoot runloader
60 * @return string containing the top configurations separated by blanks
61 */
62 const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
63 AliRunLoader* runloader=NULL) const;
64 /**
65 * Component libraries which the configurations of this agent depend on.
66 * @return list of component libraries as a blank-separated string.
67 */
68 const char* GetRequiredComponentLibraries() const;
69
70 /**
71 * Register components for the AliHLTSim library.
72 * @param pHandler [in] instance of the component handler
73 */
74 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
75 protected:
76
77 private:
78 ClassDef(AliHLTAgentSim, 0);
79};
80
81#endif