Enhanced doxygen documentation
[u/mrichter/AliRoot.git] / HLT / sim / AliHLTAgentSim.h
1 // @(#) $Id$
2
3 #ifndef ALIHLTAGENTSIM_H
4 #define ALIHLTAGENTSIM_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTAgentSim.h
9     @author Matthias Richter
10     @date   
11     @brief  Agent of the libHLTsim 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 AliHLTAgentSim
24  * This is the agent for the HLTsim library.
25  *
26  * @ingroup alihlt_system
27  * @ingroup alihlt_aliroot_simulation
28  */
29 class AliHLTAgentSim : public AliHLTModuleAgent {
30  public:
31   /**
32    * standard constructor. The agent is automatically registered in the
33    * global agent manager
34    */
35   AliHLTAgentSim();
36   /** destructor */
37   virtual ~AliHLTAgentSim();
38
39   /**
40    * Register all configurations belonging to this module with the
41    * AliHLTConfigurationHandler. The agent can adapt the configurations
42    * to be registered to the current AliRoot setup by checking the
43    * runloader.
44    * @param handler   [in] the configuration handler
45    * @param rawReader [in] AliRoot RawReader instance 
46    * @param runloader [in] AliRoot runloader
47    * @return neg. error code if failed
48    */
49   int CreateConfigurations(AliHLTConfigurationHandler* handler,
50                            AliRawReader* rawReader=NULL,
51                            AliRunLoader* runloader=NULL) const;
52
53   /**
54    * Get the top configurations belonging to this module.
55    * A top configuration describes a processing chain. It can simply be
56    * described by the last configuration(s) in the chain. 
57    * The agent can adapt the configurations to be registered to the current
58    * AliRoot setup by checking the runloader.
59    * @param rawReader [in] AliRoot RawReader instance 
60    * @param runloader [in] AliRoot runloader
61    * @return string containing the top configurations separated by blanks
62    */
63   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
64                                       AliRunLoader* runloader=NULL) const;
65   /**
66    * Component libraries which the configurations of this agent depend on.
67    * @return list of component libraries as a blank-separated string.
68    */
69   const char* GetRequiredComponentLibraries() const;
70
71   /**
72    * Register components for the AliHLTSim library.
73    * @param pHandler  [in] instance of the component handler          
74    */
75   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
76  protected:
77
78  private:
79   ClassDef(AliHLTAgentSim, 0);
80 };
81
82 #endif