]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCAgent.h
- implemented component registration via agents
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCAgent.h
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  */
22 class 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
38    * @param rawReader    AliRawReader instance
39    * @param runloader    AliRoot runloader
40    * @return neg. error code if failed
41    */
42   int CreateConfigurations(AliHLTConfigurationHandler* handler,
43                            AliRawReader* rawReader=NULL,
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.
52    * @param rawReader    AliRawReader instance
53    * @param runloader    AliRoot runloader
54    * @return number of configurations, neg. error code if failed
55    */
56   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
57                                       AliRunLoader* runloader=NULL) const;
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
65   /**
66    * Register components for the AliHLTTPC library.
67    * @param pHandler  [in] instance of the component handler          
68    */
69   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
70  protected:
71
72  private:
73   ClassDef(AliHLTTPCAgent, 0);
74 };
75
76 #endif