Adding the agent object which handles dimuon HLT configurations in libAliHLTMUON.so
[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   
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         /**
31          * Register all processing configurations belonging to the dimuon HLT
32          * library with the AliHLTConfigurationHandler.
33          * @param handler      the configuration handler
34          * @param runloader    AliRoot runloader
35          * @return Zero on success and error code if failed.
36          */
37         int CreateConfigurations(
38                         AliHLTConfigurationHandler* handler,
39                         AliRunLoader* runloader = NULL
40                 ) const;
41
42         /**
43          * Returns the top processing chain configurations for local event
44          * reconstruction.
45          * @param runloader  [in] AliRoot runloader
46          * @return string containing the top configurations separated by blanks.
47          */
48         const char* GetLocalRecConfigurations(AliRunLoader* runloader = NULL) const;
49
50         /**
51          * Component libraries which the configurations of this agent depend on.
52          * @return list of component libraries as a blank-separated string.
53          */
54         const char* GetRequiredComponentLibraries() const;
55
56         ClassDef(AliHLTMUONAgent, 1); // Dimuon HLT module agent which handles processing configurations.
57 };
58
59 #endif // ALIHLTMUONAGENT_H