]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/RCU/AliHLTRCUAgent.h
FIT geometry with thin boxes 59x59mm; radiator 53x53mm
[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   UInt_t GetDetectorMask() const;
34
35   /**
36    * Register all configurations belonging to this module with the
37    * AliHLTConfigurationHandler. The agent can adapt the configurations
38    * to be registered to the current AliRoot setup by checking the
39    * runloader.
40    * @param handler   [in] the configuration handler
41    * @param rawReader [in] AliRoot RawReader instance 
42    * @param runloader [in] AliRoot runloader
43    * @return neg. error code if failed
44    */
45   int CreateConfigurations(AliHLTConfigurationHandler* handler,
46                            AliRawReader* rawReader=NULL,
47                            AliRunLoader* runloader=NULL) const;
48
49   /**
50    * Get the top configurations belonging to this module.
51    * A top configuration describes a processing chain. It can simply be
52    * described by the last configuration(s) in the chain. 
53    * The agent can adapt the configurations to be registered to the current
54    * AliRoot setup by checking the runloader.
55    * @param rawReader [in] AliRoot RawReader instance 
56    * @param runloader [in] AliRoot runloader
57    * @return string containing the top configurations separated by blanks
58    */
59   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
60                                       AliRunLoader* runloader=NULL) const;
61   /**
62    * Component libraries which the configurations of this agent depend on.
63    * @return list of component libraries as a blank-separated string.
64    */
65   const char* GetRequiredComponentLibraries() const;
66
67   /**
68    * Register components for the AliHLTRCU library.
69    * @param pHandler  [in] instance of the component handler          
70    */
71   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
72  protected:
73
74  private:
75   ClassDef(AliHLTRCUAgent, 0);
76 };
77
78 #endif