moved HLT preprocessor to libHLTshuttle; added HLT module preprocessor framework...
[u/mrichter/AliRoot.git] / HLT / comp / AliHLTCompAgent.h
CommitLineData
ae51a735 1// @(#) $Id$
2
3#ifndef ALIHLTCOMPAGENT_H
4#define ALIHLTCOMPAGENT_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTCompAgent.h
9 @author Matthias Richter
10 @date
11 @brief Agent of the libAliHLTComp 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 AliHLTCompAgent
24 * This is the agent for the AliHLTComp library.
25 *
26 * @ingroup alihlt_system
27 */
28class AliHLTCompAgent : public AliHLTModuleAgent {
29 public:
30 /**
31 * standard constructor. The agent is automatically registered in the
32 * global agent manager
33 */
34 AliHLTCompAgent();
35 /** destructor */
36 virtual ~AliHLTCompAgent();
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 /**
a183f221 71 * Register components for the AliHLTComp library.
ae51a735 72 * @param pHandler [in] instance of the component handler
73 */
74 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
12ec5482 75
76 AliHLTModulePreprocessor* GetPreprocessor();
ae51a735 77 protected:
78
79 private:
80 ClassDef(AliHLTCompAgent, 0);
81};
82
83#endif