3 #ifndef ALIHLTITSAGENT_H
4 #define ALIHLTITSAGENT_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 *
9 /** @file AliHLTITSAgent.h
10 @author Matthias Richter
12 @brief Agent of the libAliHLTITS library
15 #include "AliHLTModuleAgent.h"
17 class AliHLTOUTHandlerEquId;
20 * @class AliHLTITSAgent
21 * This is the agent for the AliHLTSample library.<br>
23 * The egent implements the HLTOUT handling of raw data blocks from the
24 * ITS (all of the 3 detectors). This assumes that the data blocks are sent
25 * with data type {DDL_RAW :ITS } and the equipment id as specification.
26 * The agent indicates that such a block is handled by the
27 * AliHLTOUTHandlerEquId and its default behavior.
31 class AliHLTITSAgent : public AliHLTModuleAgent {
34 * standard constructor. The agent is automatically registered in the
35 * global agent manager
39 virtual ~AliHLTITSAgent();
42 * Register all configurations belonging to the sample library with the
43 * AliHLTConfigurationHandler. The agent can adapt the configurations
44 * to be registered to the current AliRoot setup by checking the
46 * @param handler [in] the configuration handler
47 * @param rawReader [in] AliRoot RawReader instance
48 * @param runloader [in] AliRoot runloader
49 * @return neg. error code if failed
51 int CreateConfigurations(AliHLTConfigurationHandler* handler,
52 AliRawReader* rawReader=NULL,
53 AliRunLoader* runloader=NULL) const;
56 * Get the top configurations for local event reconstruction.
57 * A top configuration describes a processing chain. It can simply be
58 * described by the last configuration(s) in the chain.
59 * The agent can adapt the configurations to be registered to the current
60 * AliRoot setup by checking the runloader.
61 * @param rawReader [in] AliRoot RawReader instance
62 * @param runloader [in] AliRoot runloader
63 * @return string containing the top configurations separated by blanks
65 const char* GetReconstructionChains(AliRawReader* rawReader=NULL,
66 AliRunLoader* runloader=NULL) const;
69 * Component libraries which the configurations of this agent depend on.
70 * @return list of component libraries as a blank-separated string.
72 const char* GetRequiredComponentLibraries() const;
75 * Register components for the AliHLTSample library.
76 * @param pHandler [in] instance of the component handler
78 int RegisterComponents(AliHLTComponentHandler* pHandler) const;
80 int GetHandlerDescription(AliHLTComponentDataType dt,
82 AliHLTOUTHandlerDesc& desc) const;
83 AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt,
85 int DeleteOutputHandler(AliHLTOUTHandler* pInstance);
87 AliHLTModulePreprocessor* GetPreprocessor();
91 /** copy constructor prohibited */
92 AliHLTITSAgent(const AliHLTITSAgent&);
93 /** assignment operator prohibited */
94 AliHLTITSAgent& operator=(const AliHLTITSAgent&);
96 /** handler for ITS raw data in the HLTOUT stream */
97 AliHLTOUTHandlerEquId* fRawDataHandler; //!transient
99 /** ROOT specific member definition */
100 ClassDef(AliHLTITSAgent, 0);