Completely Updated (Mario RC & Eleazar)
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCAgent.h
CommitLineData
5578cf60 1// @(#) $Id$
2
3#ifndef ALIHLTTPCAGENT_H
4#define ALIHLTTPCAGENT_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTTPCAgent.h
9 @author Matthias Richter
10 @date
11 @brief Agent of the libAliHLTTPC library
12*/
13
14#include "AliHLTModuleAgent.h"
15
16/**
17 * @class AliHLTTPCAgent
18 * This is the agent for the AliHLTTPC library.
19 *
20 * @ingroup alihlt_system
21 */
22class AliHLTTPCAgent : public AliHLTModuleAgent {
23 public:
24 /**
25 * standard constructor. The agent is automatically registered in the
26 * global agent manager
27 */
28 AliHLTTPCAgent();
29 /** destructor */
30 virtual ~AliHLTTPCAgent();
31
32 /**
33 * Register all configurations belonging to this module with the
34 * AliHLTConfigurationHandler. The agent can adapt the configurations
35 * to be registered to the current AliRoot setup by checking the
36 * runloader.
37 * @param handler the configuration handler
3a7c0444 38 * @param rawReader AliRawReader instance
5578cf60 39 * @param runloader AliRoot runloader
40 * @return neg. error code if failed
41 */
42 int CreateConfigurations(AliHLTConfigurationHandler* handler,
dee38f1b 43 AliRawReader* rawReader=NULL,
5578cf60 44 AliRunLoader* runloader=NULL) const;
45
46 /**
47 * Get the top configurations belonging to this module.
48 * A top configuration describes a processing chain. It can simply be
49 * described by the last configuration(s) in the chain.
50 * The agent can adapt the configurations to be registered to the current
51 * AliRoot setup by checking the runloader.
3a7c0444 52 * @param rawReader AliRawReader instance
5578cf60 53 * @param runloader AliRoot runloader
54 * @return number of configurations, neg. error code if failed
55 */
dee38f1b 56 const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
57 AliRunLoader* runloader=NULL) const;
5578cf60 58
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
f3506ea2 65 /**
66 * Register components for the AliHLTTPC library.
67 * @param pHandler [in] instance of the component handler
68 */
69 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
5578cf60 70 protected:
71
72 private:
73 ClassDef(AliHLTTPCAgent, 0);
74};
75
76#endif