Line data Source code
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 6 : ClassDef(AliHLTRCUAgent, 0);
76 : };
77 :
78 : #endif
|