]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliHLTGlobalAgent.h
changed max matching distance to 40cm in globaltrackmatcher
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalAgent.h
1 // $Id$
2
3 #ifndef ALIHLTGLOBALAGENT_H
4 #define ALIHLTGLOBALAGENT_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   AliHLTGlobalAgent.h
10     @author Matthias Richter
11     @date   
12     @brief  Agent of the libAliHLTGlobal library
13 */
14
15 #include "AliHLTModuleAgent.h"
16
17 class AliHLTOUTHandler;
18
19 /**
20  * @class AliHLTGlobalAgent
21  * This is the agent for the AliHLTGlobal library.
22  *
23  * @ingroup alihlt_system
24  */
25 class AliHLTGlobalAgent : public AliHLTModuleAgent {
26  public:
27   /**
28    * standard constructor. The agent is automatically registered in the
29    * global agent manager
30    */
31   AliHLTGlobalAgent();
32   /** destructor */
33   virtual ~AliHLTGlobalAgent();
34
35   int RegisterComponents(AliHLTComponentHandler* pHandler) const;
36
37   /**
38    * Inherited from AliHLTModuleAgent
39    * Register all configurations belonging to this module with the
40    * AliHLTConfigurationHandler. The agent can adapt the configurations
41    * to be registered to the current AliRoot setup by checking the
42    * runloader.
43    * @param handler      the configuration handler
44    * @param rawReader    AliRawReader instance
45    * @param runloader    AliRoot runloader
46    * @return neg. error code if failed
47    */
48   int CreateConfigurations(AliHLTConfigurationHandler* handler,
49                            AliRawReader* rawReader=NULL,
50                            AliRunLoader* runloader=NULL) const;
51
52   /**
53    * Inherited from AliHLTModuleAgent
54    * Get the top configurations belonging to this module.
55    * A top configuration describes a processing chain. It can simply be
56    * described by the last configuration(s) in the chain. 
57    * The agent can adapt the configurations to be registered to the current
58    * AliRoot setup by checking the runloader.
59    * @param rawReader    AliRawReader instance
60    * @param runloader    AliRoot runloader
61    * @return number of configurations, neg. error code if failed
62    */
63   const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
64                                       AliRunLoader* runloader=NULL) const;
65
66   /**
67    * Inherited from AliHLTModuleAgent
68    * Component libraries which the configurations of this agent depend on.
69    * @return list of component libraries as a blank-separated string.
70    */
71   const char* GetRequiredComponentLibraries() const;
72
73   int GetHandlerDescription(AliHLTComponentDataType dt,
74                             AliHLTUInt32_t spec,
75                             AliHLTOUTHandlerDesc& desc) const;
76
77   AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt, AliHLTUInt32_t spec);
78
79   int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
80
81  protected:
82
83  private:
84   /** copy constructor prohibited */
85   AliHLTGlobalAgent(const AliHLTGlobalAgent&);
86   /** assignment operator prohibited */
87   AliHLTGlobalAgent& operator=(const AliHLTGlobalAgent&);
88
89   ClassDef(AliHLTGlobalAgent, 0);
90 };
91
92 #endif