3 #ifndef ALIHLTAGENTSAMPLE_H
4 #define ALIHLTAGENTSAMPLE_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /** @file AliHLTAgentSample.h
9 @author Matthias Richter
11 @brief Agent of the libAliHLTSample library
14 #include "AliHLTModuleAgent.h"
17 * @class AliHLTAgentSample
18 * This is the agent for the AliHLTSample library.<br>
19 * The AliHLTSample library illustrates usage of the HLT framework. The
20 * agent provides information on the features of the sample components
21 * and the configuration which should be run during AliRoot reconstruction.
23 * The sample agent implements all interface function provided by @ref
25 * - @ref CreateConfigurations <br>
26 * The method gets an instance of the AliHLTConfigurationHanler to add
27 * configurations, e.g.
29 * handler->CreateConfiguration("my-puplisher" , "FilePublisher", NULL , "data.bin");
31 * handler->CreateConfiguration("my-analysis-chain" , "FileWriter", "my-processor" , "my arguments");
33 * - @ref GetLocalRecConfigurations <br>
34 * returns a string of blank separated configurations to be run during
35 * local event reconstruction.
37 * return "my-data-sink my-analysis-chain";
39 * - @ref GetRequiredComponentLibraries <br>
40 * returns a string of blank separated libraries which have to be loaded
43 * return "libAliHLTUtil.so";
45 * - not implemented are the in iterface methods
46 * - @ref AliHLTModuleAgent::GetEventRecConfigurations
47 * - @ref AliHLTModuleAgent::RegisterComponents
49 * In order to hook the sample library up to the HLT system on global object
50 * @ref gAliHLTAgentSample of the agent is defined in the source code.
52 * @ingroup alihlt_system
54 class AliHLTAgentSample : public AliHLTModuleAgent {
57 * standard constructor. The agent is automatically registered in the
58 * global agent manager
62 virtual ~AliHLTAgentSample();
65 * Register all configurations belonging to the sample library with the
66 * AliHLTConfigurationHandler. The agent can adapt the configurations
67 * to be registered to the current AliRoot setup by checking the
69 * @param handler the configuration handler
70 * @param runloader AliRoot runloader
71 * @return neg. error code if failed
73 int CreateConfigurations(AliHLTConfigurationHandler* handler,
74 AliRunLoader* runloader=NULL) const;
77 * Get the top configurations for local event reconstruction.
78 * A top configuration describes a processing chain. It can simply be
79 * described by the last configuration(s) in the chain.
80 * The agent can adapt the configurations to be registered to the current
81 * AliRoot setup by checking the runloader.
82 * @param runloader [in] AliRoot runloader
83 * @return string containing the top configurations separated by blanks
85 const char* GetLocalRecConfigurations(AliRunLoader* runloader=NULL) const;
88 * Component libraries which the configurations of this agent depend on.
89 * @return list of component libraries as a blank-separated string.
91 const char* GetRequiredComponentLibraries() const;
96 /** file name of the generated test data*/
97 static const char* fgkAliHLTAgentSampleData; //!transient
99 /** file name of the output file */
100 static const char* fgkAliHLTAgentSampleOut; //!transient
102 /** ROOT specific member definition */
103 ClassDef(AliHLTAgentSample, 1);