]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/JET/AliHLTJETAgent.h
replacing calls to AliCDBManager::GetId after this has become privat in r57556
[u/mrichter/AliRoot.git] / HLT / JET / AliHLTJETAgent.h
CommitLineData
33daad3d 1//-*- Mode: C++ -*-
2
3// $Id: AliHLTJETAgent.h 28643 2008-09-09 20:43:24Z richterm $
4
5#ifndef ALIHLTJETAGENT_H
6#define ALIHLTJETAGENT_H
7//* This file is property of and copyright by the ALICE HLT Project *
8//* ALICE Experiment at CERN, All rights reserved. *
9//* See cxx source for full Copyright notice *
10
11/** @file AliHLTJETAgent.h
12 @author Jochen Thaeder
13 @date 13.02.2009
14 @brief Agent of the libAliHLTJET library
15*/
16
17#include "AliHLTModuleAgent.h"
18
19// raw data handler of HLTOUT data
20#include "AliHLTOUTHandlerEquId.h"
21
22/**
23 * @class AliHLTJETAgent
24 * This is the agent for the AliHLTJet library.<br>
25 *
26 * @ingroup alihlt_jet
27 */
28class AliHLTJETAgent : public AliHLTModuleAgent {
29 public:
30
31 /*
32 * ---------------------------------------------------------------------------------
33 * Constructor / Destructor
34 * ---------------------------------------------------------------------------------
35 */
36
37 /**
38 * standard constructor. The agent is automatically registered in the
39 * global agent manager
40 */
41 AliHLTJETAgent();
42
43 /** destructor */
44 virtual ~AliHLTJETAgent();
45
46 /*
47 * ---------------------------------------------------------------------------------
48 *
49 * ---------------------------------------------------------------------------------
50 */
51
52 /**
53 * Register all configurations belonging to the sample library with the
54 * AliHLTConfigurationHandler. The agent can adapt the configurations
55 * to be registered to the current AliRoot setup by checking the
56 * runloader.
57 * @param handler [in] the configuration handler
58 * @param rawReader [in] AliRoot RawReader instance
59 * @param runloader [in] AliRoot runloader
60 * @return neg. error code if failed
61 */
62 Int_t CreateConfigurations(AliHLTConfigurationHandler* handler,
63 AliRawReader* rawReader=NULL,
64 AliRunLoader* runloader=NULL) const;
65
66 /**
67 * Get the top configurations for local event reconstruction.
68 * A top configuration describes a processing chain. It can simply be
69 * described by the last configuration(s) in the chain.
70 * The agent can adapt the configurations to be registered to the current
71 * AliRoot setup by checking the runloader.
72 * @param rawReader [in] AliRoot RawReader instance
73 * @param runloader [in] AliRoot runloader
74 * @return string containing the top configurations separated by blanks
75 */
76 const Char_t* GetReconstructionChains(AliRawReader* rawReader=NULL,
77 AliRunLoader* runloader=NULL) const;
78
79 /**
80 * Component libraries which the configurations of this agent depend on.
81 * @return list of component libraries as a blank-separated string.
82 */
83 const Char_t* GetRequiredComponentLibraries() const;
84
85 /**
86 * Register components for the AliHLTSample library.
87 * @param pHandler [in] instance of the component handler
88 */
89 Int_t RegisterComponents(AliHLTComponentHandler* pHandler) const;
90
91 /*
92 * ---------------------------------------------------------------------------------
93 *
94 * ---------------------------------------------------------------------------------
95 */
96
97 /**
98 *
99 */
100 AliHLTModulePreprocessor* GetPreprocessor();
101
102 /*
103 * ---------------------------------------------------------------------------------
104 *
105 * ---------------------------------------------------------------------------------
106 */
107
108 /**
109 *
110 */
111 Int_t GetHandlerDescription(AliHLTComponentDataType dt,
112 AliHLTUInt32_t spec,
113 AliHLTOUTHandlerDesc& desc) const;
114
115 /**
116 *
117 */
118 AliHLTOUTHandler* GetOutputHandler(AliHLTComponentDataType dt,
119 AliHLTUInt32_t spec);
120
121 /**
122 *
123 */
124 Int_t DeleteOutputHandler(AliHLTOUTHandler* pInstance);
125
126 /*
127 class AliHLTOUTSDDRawDataHandler: public AliHLTOUTHandlerEquId {
128 public:
129 AliHLTOUTSDDRawDataHandler() {}
130 ~AliHLTOUTSDDRawDataHandler() {}
131 int ProcessData(AliHLTOUT* pData);
132 private:
133 };
134 */
135
136 protected:
137
138 private:
139
140 /*
141 * ---------------------------------------------------------------------------------
142 * Private functions to implement AliHLTComponent's interface.
143 * These functions provide initialization as well as the actual processing
144 * capabilities of the component.
145 * ---------------------------------------------------------------------------------
146 */
147
148 /** Copy constructor prohibited */
149 AliHLTJETAgent(const AliHLTJETAgent&);
150
151 /** Assignment operator prohibited */
152 AliHLTJETAgent& operator=(const AliHLTJETAgent&);
153
154 /*
155 * ---------------------------------------------------------------------------------
156 * Members
157 * ---------------------------------------------------------------------------------
158 */
159
160 /** Handler for JET data in the HLTOUT stream */
161 AliHLTOUTHandlerEquId* fRawDataHandler; //!transient
162
163 /** ROOT specific member definition */
164 ClassDef(AliHLTJETAgent, 0);
165};
166
167#endif