update of AltroChannelSelector component by Jason: added monitoring histograms, make...
[u/mrichter/AliRoot.git] / HLT / RCU / AliHLTRCUAgent.h
1 // $Id$
2
3 #ifndef ALIHLTRCUAGENT_H
4 #define ALIHLTRCUAGENT_H
5 //* This file is property of and copyright by the ALICE HLT Project        * 
6 //* ALICE Experiment at CERN, All rights reserved.                         *
7 //* See cxx source for full Copyright notice                               */
8
9 /** @file   AliHLTRCUAgent.h
10     @author Matthias Richter
11     @date   
12     @brief  Agent of the libAliHLTRCU library
13 */
14
15 #include "AliHLTModuleAgent.h"
16
17 /**
18  * @class AliHLTRCUAgent
19  * This is the agent for the AliHLTRCU library.
20  *
21  * @ingroup alihlt_system
22  */
23 class AliHLTRCUAgent : public AliHLTModuleAgent {
24  public:
25   /**
26    * standard constructor. The agent is automatically registered in the
27    * global agent manager
28    */
29   AliHLTRCUAgent();
30   /** destructor */
31   virtual ~AliHLTRCUAgent();
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   /**
66    * Register components for the AliHLTRCU library.
67    * @param pHandler  [in] instance of the component handler          
68    */
69   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
70  protected:
71
72  private:
73   ClassDef(AliHLTRCUAgent, 0);
74 };
75
76 #endif