- support for event by event reconstruction added to AliHLTSystem
[u/mrichter/AliRoot.git] / HLT / BASE / util / AliHLTAgentUtil.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTAGENTUTIL_H
4 #define ALIHLTAGENTUTIL_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTAgentUtil.h
9     @author Matthias Richter
10     @date   
11     @brief  Agent of the libAliHLTUtil library
12 */
13
14 #include "AliHLTModuleAgent.h"
15
16 /**
17  * @class AliHLTAgentUtil
18  * This is the agent for the AliHLTUtil library.
19  *
20  * @ingroup alihlt_system
21  */
22 class AliHLTAgentUtil : public AliHLTModuleAgent {
23  public:
24   /**
25    * standard constructor. The agent is automatically registered in the
26    * global agent manager
27    */
28   AliHLTAgentUtil();
29   /** destructor */
30   virtual ~AliHLTAgentUtil();
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   [in] the configuration handler
38    * @param rawReader [in] AliRoot RawReader instance 
39    * @param runloader [in] 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 [in] AliRoot RawReader instance 
53    * @param runloader [in] AliRoot runloader
54    * @return string containing the top configurations separated by blanks
55    */
56   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
57                                       AliRunLoader* runloader=NULL) const;
58   /**
59    * Component libraries which the configurations of this agent depend on.
60    * @return list of component libraries as a blank-separated string.
61    */
62   const char* GetRequiredComponentLibraries() const;
63
64  protected:
65
66  private:
67   ClassDef(AliHLTAgentUtil, 0);
68 };
69
70 #endif