]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/MUON/OfflineInterface/AliHLTMUONAgent.h
2b27e0c1fc81f50a4a84b11266463e043e3da65e
[u/mrichter/AliRoot.git] / HLT / MUON / OfflineInterface / AliHLTMUONAgent.h
1 #ifndef ALIHLTMUONAGENT_H
2 #define ALIHLTMUONAGENT_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 ///
9 /// @file   AliHLTMUONAgent.h
10 /// @author Artur Szostak <artursz@iafrica.com>
11 /// @date   28 May 2007
12 /// @brief  The HLT module agent for libAliHLTMUON.so which interfaces HLT
13 ///         components with offline.
14 ///
15
16 #include "AliHLTModuleAgent.h"
17 class AliRunLoader;
18
19 /**
20  * This module agent handles dimuon HLT module registration and configurations
21  * within the AliRoot framework.
22  */
23 class AliHLTMUONAgent : public AliHLTModuleAgent
24 {
25 public:
26         AliHLTMUONAgent();
27         
28         virtual ~AliHLTMUONAgent();
29
30         // The following methods are all inherited from AliHLTModuleAgent:
31         
32         /**
33          * Register all processing configurations belonging to the dimuon HLT
34          * library with the AliHLTConfigurationHandler.
35          * @param handler      the configuration handler
36          * @param runloader    AliRoot runloader
37          * @return Zero on success and error code if failed.
38          */
39         virtual int CreateConfigurations(
40                         AliHLTConfigurationHandler* handler,
41                         AliRawReader* rawReader=NULL,
42                         AliRunLoader* runloader = NULL
43                 ) const;
44
45         /**
46          * Returns the top processing chain configurations for local event
47          * reconstruction.
48          * @param runloader  [in] AliRoot runloader
49          * @return string containing the top configurations separated by blanks.
50          */
51         virtual const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
52                                             AliRunLoader* runloader = NULL) const;
53
54         /**
55          * Component libraries which the configurations of this agent depend on.
56          * @return list of component libraries as a blank-separated string.
57          */
58         virtual const char* GetRequiredComponentLibraries() const;
59         
60         /**
61          * Registers all available components of this module.
62          * @param pHandler  [in] instance of the component handler.
63          */
64         virtual int RegisterComponents(AliHLTComponentHandler* pHandler) const;
65         
66 private:
67         // The following instance is used for automatic agent and component registration.
68         static AliHLTMUONAgent fgkInstance;  // The single global instance of the dimuon HLT agent.
69
70         ClassDef(AliHLTMUONAgent, 0); // Dimuon HLT module agent which handles processing configurations.
71 };
72
73 #endif // ALIHLTMUONAGENT_H