- support for event by event reconstruction added to AliHLTSystem
[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                         AliRawReader* rawReader=NULL,
40                         AliRunLoader* runloader = NULL
41                 ) const;
42
43         /**
44          * Returns the top processing chain configurations for local event
45          * reconstruction.
46          * @param runloader  [in] AliRoot runloader
47          * @return string containing the top configurations separated by blanks.
48          */
49         const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
50                                             AliRunLoader* runloader = NULL) const;
51
52         /**
53          * Component libraries which the configurations of this agent depend on.
54          * @return list of component libraries as a blank-separated string.
55          */
56         const char* GetRequiredComponentLibraries() const;
57
58         ClassDef(AliHLTMUONAgent, 1); // Dimuon HLT module agent which handles processing configurations.
59 };
60
61 #endif // ALIHLTMUONAGENT_H