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