]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/html/classAliHLTConsumerDescriptor.html
64ee0394eec036fa09b41d1546a13b52e6d9f07e
[u/mrichter/AliRoot.git] / HLT / PHOS / html / classAliHLTConsumerDescriptor.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>AliHLTPHOS: AliHLTConsumerDescriptor Class Reference</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.3.9.1 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
8 <h1>AliHLTConsumerDescriptor Class Reference<br>
9 <small>
10 [<a class="el" href="group__alihlt__system.html">HLT integration into AliRoot</a>]</small>
11 </h1><code>#include &lt;<a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a>&gt;</code>
12 <p>
13 <p>Inheritance diagram for AliHLTConsumerDescriptor:
14 <p><center><img src="classAliHLTConsumerDescriptor.png" usemap="#AliHLTConsumerDescriptor_map" border="0" alt=""></center>
15 <map name="AliHLTConsumerDescriptor_map">
16 <area href="classAliHLTLogging.html" alt="AliHLTLogging" shape="rect" coords="0,0,166,24">
17 </map>
18 <a href="classAliHLTConsumerDescriptor-members.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
19 Helper class to describe a consumer component. 
20 <p>
21 There is unfortunately no unique determination of the data type from the component itself possible, thats why both component and data type have to be initialized and are stored in a compound. The class is intended to make bookkeeping easier.<p>
22 <dl compact><dt><b>Note:</b></dt><dd>This class is only used for the <a class="el" href="group__alihlt__system.html">HLT integration into AliRoot</a>. </dd></dl>
23
24 <p>
25
26 <p>
27 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00030">30</a> of file <a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a>.<table border="0" cellpadding="0" cellspacing="0">
28 <tr><td></td></tr>
29 <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
30 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a0">AliHLTConsumerDescriptor</a> ()</td></tr>
31
32 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a1">AliHLTConsumerDescriptor</a> (<a class="el" href="classAliHLTComponent.html">AliHLTComponent</a> *pConsumer)</td></tr>
33
34 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a2">AliHLTConsumerDescriptor</a> (const <a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a> &amp;)</td></tr>
35
36 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a3">operator=</a> (const <a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a> &amp;)</td></tr>
37
38 <tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a4">~AliHLTConsumerDescriptor</a> ()</td></tr>
39
40 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classAliHLTComponent.html">AliHLTComponent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a5">GetComponent</a> ()</td></tr>
41
42 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a6">SetActiveDataSegment</a> (<a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a> offset, <a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a> size)</td></tr>
43
44 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a7">CheckActiveDataSegment</a> (<a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a> offset, <a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a> size)</td></tr>
45
46 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a8">GetNofActiveSegments</a> ()</td></tr>
47
48 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#a9">ReleaseActiveDataSegment</a> (<a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a> offset, <a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a> size)</td></tr>
49
50 <tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
51 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classAliHLTComponent.html">AliHLTComponent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#r0">fpConsumer</a></td></tr>
52
53 <tr><td class="memItemLeft" nowrap align="right" valign="top">vector&lt; <a class="el" href="classAliHLTDataBuffer_1_1AliHLTDataSegment.html">AliHLTDataBuffer::AliHLTDataSegment</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a></td></tr>
54
55 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transient  <a href="#r1"></a><br></td></tr>
56 </table>
57 <hr><h2>Constructor &amp; Destructor Documentation</h2>
58 <a class="anchor" name="a0" doxytag="AliHLTConsumerDescriptor::AliHLTConsumerDescriptor"></a><p>
59 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
60   <tr>
61     <td class="mdRow">
62       <table cellpadding="0" cellspacing="0" border="0">
63         <tr>
64           <td class="md" nowrap valign="top">AliHLTConsumerDescriptor::AliHLTConsumerDescriptor           </td>
65           <td class="md" valign="top">(&nbsp;</td>
66           <td class="mdname1" valign="top" nowrap>          </td>
67           <td class="md" valign="top">&nbsp;)&nbsp;</td>
68           <td class="md" nowrap></td>
69         </tr>
70       </table>
71     </td>
72   </tr>
73 </table>
74 <table cellspacing="5" cellpadding="0" border="0">
75   <tr>
76     <td>
77       &nbsp;
78     </td>
79     <td>
80
81 <p>
82 standard constructur     </td>
83   </tr>
84 </table>
85 <a class="anchor" name="a1" doxytag="AliHLTConsumerDescriptor::AliHLTConsumerDescriptor"></a><p>
86 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
87   <tr>
88     <td class="mdRow">
89       <table cellpadding="0" cellspacing="0" border="0">
90         <tr>
91           <td class="md" nowrap valign="top">AliHLTConsumerDescriptor::AliHLTConsumerDescriptor           </td>
92           <td class="md" valign="top">(&nbsp;</td>
93           <td class="md" nowrap valign="top"><a class="el" href="classAliHLTComponent.html">AliHLTComponent</a> *&nbsp;</td>
94           <td class="mdname1" valign="top" nowrap> <em>pConsumer</em>          </td>
95           <td class="md" valign="top">&nbsp;)&nbsp;</td>
96           <td class="md" nowrap></td>
97         </tr>
98       </table>
99     </td>
100   </tr>
101 </table>
102 <table cellspacing="5" cellpadding="0" border="0">
103   <tr>
104     <td>
105       &nbsp;
106     </td>
107     <td>
108
109 <p>
110 constructur <dl compact><dt><b>Parameters:</b></dt><dd>
111   <table border="0" cellspacing="2" cellpadding="0">
112     <tr><td valign="top"></td><td valign="top"><em>pConsumer</em>&nbsp;</td><td>pointer to the consumer component </td></tr>
113   </table>
114 </dl>
115
116 <p>
117 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00046">46</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.
118 <p>
119 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">fSegments</a>.<div class="fragment"><pre class="fragment">00047   :
120 00048   <a class="code" href="classAliHLTConsumerDescriptor.html#r0">fpConsumer</a>(pConsumer),
121 00049   <a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>()
122 00050 {
123 00051   <span class="comment">// see header file for function documentation</span>
124 00052   <a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.clear();
125 00053 }
126
127 </pre></div>
128 <p>
129     </td>
130   </tr>
131 </table>
132 <a class="anchor" name="a2" doxytag="AliHLTConsumerDescriptor::AliHLTConsumerDescriptor"></a><p>
133 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
134   <tr>
135     <td class="mdRow">
136       <table cellpadding="0" cellspacing="0" border="0">
137         <tr>
138           <td class="md" nowrap valign="top">AliHLTConsumerDescriptor::AliHLTConsumerDescriptor           </td>
139           <td class="md" valign="top">(&nbsp;</td>
140           <td class="md" nowrap valign="top">const <a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a> &amp;&nbsp;</td>
141           <td class="mdname1" valign="top" nowrap>          </td>
142           <td class="md" valign="top">&nbsp;)&nbsp;</td>
143           <td class="md" nowrap></td>
144         </tr>
145       </table>
146     </td>
147   </tr>
148 </table>
149 <table cellspacing="5" cellpadding="0" border="0">
150   <tr>
151     <td>
152       &nbsp;
153     </td>
154     <td>
155
156 <p>
157 not a valid copy constructor, defined according to effective C++ style 
158 <p>
159 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00055">55</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.<div class="fragment"><pre class="fragment">00056   :
160 00057   TObject(),
161 00058   <a class="code" href="classAliHLTLogging.html#a0">AliHLTLogging</a>(),
162 00059   <a class="code" href="classAliHLTConsumerDescriptor.html#r0">fpConsumer</a>(desc.<a class="code" href="classAliHLTConsumerDescriptor.html#r0">fpConsumer</a>),
163 00060   <a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>()
164 00061 {
165 00062   <span class="comment">// see header file for function documentation</span>
166 00063 
167 00064   <span class="comment">// we can simply transfer the pointer to th new object since there are no</span>
168 00065   <span class="comment">// release actions in the destructor</span>
169 00066 }
170
171 </pre></div>
172 <p>
173     </td>
174   </tr>
175 </table>
176 <a class="anchor" name="a4" doxytag="AliHLTConsumerDescriptor::~AliHLTConsumerDescriptor"></a><p>
177 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
178   <tr>
179     <td class="mdRow">
180       <table cellpadding="0" cellspacing="0" border="0">
181         <tr>
182           <td class="md" nowrap valign="top">AliHLTConsumerDescriptor::~<a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a>           </td>
183           <td class="md" valign="top">(&nbsp;</td>
184           <td class="mdname1" valign="top" nowrap>          </td>
185           <td class="md" valign="top">&nbsp;)&nbsp;</td>
186           <td class="md" nowrap></td>
187         </tr>
188       </table>
189     </td>
190   </tr>
191 </table>
192 <table cellspacing="5" cellpadding="0" border="0">
193   <tr>
194     <td>
195       &nbsp;
196     </td>
197     <td>
198
199 <p>
200 destructor 
201 <p>
202 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00078">78</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.
203 <p>
204 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">fSegments</a>.<div class="fragment"><pre class="fragment">00079 {
205 00080   <span class="comment">// see header file for function documentation</span>
206 00081   <span class="keywordflow">if</span> (<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.size()&gt;0) {
207 00082     <span class="comment">//HLTWarning("unreleased data segments found");</span>
208 00083   }
209 00084 }
210 </pre></div>
211 <p>
212     </td>
213   </tr>
214 </table>
215 <hr><h2>Member Function Documentation</h2>
216 <a class="anchor" name="a7" doxytag="AliHLTConsumerDescriptor::CheckActiveDataSegment"></a><p>
217 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
218   <tr>
219     <td class="mdRow">
220       <table cellpadding="0" cellspacing="0" border="0">
221         <tr>
222           <td class="md" nowrap valign="top">int AliHLTConsumerDescriptor::CheckActiveDataSegment           </td>
223           <td class="md" valign="top">(&nbsp;</td>
224           <td class="md" nowrap valign="top"><a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a>&nbsp;</td>
225           <td class="mdname" nowrap> <em>offset</em>, </td>
226         </tr>
227         <tr>
228           <td class="md" nowrap align="right"></td>
229           <td class="md"></td>
230           <td class="md" nowrap><a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a>&nbsp;</td>
231           <td class="mdname" nowrap> <em>size</em></td>
232         </tr>
233         <tr>
234           <td class="md"></td>
235           <td class="md">)&nbsp;</td>
236           <td class="md" colspan="2"></td>
237         </tr>
238       </table>
239     </td>
240   </tr>
241 </table>
242 <table cellspacing="5" cellpadding="0" border="0">
243   <tr>
244     <td>
245       &nbsp;
246     </td>
247     <td>
248
249 <p>
250 Check whether there is an active data segment of certain size with certain offset. <dl compact><dt><b>Parameters:</b></dt><dd>
251   <table border="0" cellspacing="2" cellpadding="0">
252     <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>offset of the data segment in the data buffer </td></tr>
253     <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size of the data segment in the data buffer </td></tr>
254   </table>
255 </dl>
256 <dl compact><dt><b>Returns:</b></dt><dd>&gt; if existend, 0 if not </dd></dl>
257
258 <p>
259 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00096">96</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.
260 <p>
261 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">fSegments</a>.
262 <p>
263 Referenced by <a class="el" href="AliHLTDataBuffer_8cxx-source.html#l00231">AliHLTDataBuffer::Release()</a>.<div class="fragment"><pre class="fragment">00097 {
264 00098   <span class="comment">// see header file for function documentation</span>
265 00099   <span class="keywordtype">int</span> iResult=0;
266 00100   <span class="keywordflow">if</span> (<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.size()&gt;0) {
267 00101     vector&lt;AliHLTDataBuffer::AliHLTDataSegment&gt;::iterator segment=<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.begin();
268 00102     <span class="keywordflow">while</span> (segment!=<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.end()) {
269 00103       <span class="keywordflow">if</span> ((iResult=((*segment).fSegmentOffset==offset &amp;&amp; (*segment).fSegmentSize==size))&gt;0) {
270 00104         <span class="keywordflow">break</span>;
271 00105       }
272 00106       segment++;
273 00107     }
274 00108   } <span class="keywordflow">else</span> {
275 00109     <span class="comment">//HLTWarning("no data segment active for consumer %p", this);</span>
276 00110     iResult=-ENODATA;
277 00111   }
278 00112   <span class="keywordflow">return</span> iResult;
279 00113 }
280 </pre></div>
281 <p>
282     </td>
283   </tr>
284 </table>
285 <a class="anchor" name="a5" doxytag="AliHLTConsumerDescriptor::GetComponent"></a><p>
286 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
287   <tr>
288     <td class="mdRow">
289       <table cellpadding="0" cellspacing="0" border="0">
290         <tr>
291           <td class="md" nowrap valign="top"><a class="el" href="classAliHLTComponent.html">AliHLTComponent</a>* AliHLTConsumerDescriptor::GetComponent           </td>
292           <td class="md" valign="top">(&nbsp;</td>
293           <td class="mdname1" valign="top" nowrap>          </td>
294           <td class="md" valign="top">&nbsp;)&nbsp;</td>
295           <td class="md" nowrap><code> [inline]</code></td>
296         </tr>
297       </table>
298     </td>
299   </tr>
300 </table>
301 <table cellspacing="5" cellpadding="0" border="0">
302   <tr>
303     <td>
304       &nbsp;
305     </td>
306     <td>
307
308 <p>
309 Get the component of this descriptor. <dl compact><dt><b>Returns:</b></dt><dd>pointer to the component </dd></dl>
310
311 <p>
312 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00049">49</a> of file <a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a>.<div class="fragment"><pre class="fragment">00049 {<span class="keywordflow">return</span> fpConsumer;}
313 </pre></div>
314 <p>
315     </td>
316   </tr>
317 </table>
318 <a class="anchor" name="a8" doxytag="AliHLTConsumerDescriptor::GetNofActiveSegments"></a><p>
319 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
320   <tr>
321     <td class="mdRow">
322       <table cellpadding="0" cellspacing="0" border="0">
323         <tr>
324           <td class="md" nowrap valign="top">int AliHLTConsumerDescriptor::GetNofActiveSegments           </td>
325           <td class="md" valign="top">(&nbsp;</td>
326           <td class="mdname1" valign="top" nowrap>          </td>
327           <td class="md" valign="top">&nbsp;)&nbsp;</td>
328           <td class="md" nowrap><code> [inline]</code></td>
329         </tr>
330       </table>
331     </td>
332   </tr>
333 </table>
334 <table cellspacing="5" cellpadding="0" border="0">
335   <tr>
336     <td>
337       &nbsp;
338     </td>
339     <td>
340
341 <p>
342 get the number of active segments for this consumer <dl compact><dt><b>Returns:</b></dt><dd>number of active segments </dd></dl>
343
344 <p>
345 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00081">81</a> of file <a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a>.
346 <p>
347 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">fSegments</a>.
348 <p>
349 Referenced by <a class="el" href="AliHLTDataBuffer_8cxx-source.html#l00231">AliHLTDataBuffer::Release()</a>.<div class="fragment"><pre class="fragment">00081 {<span class="keywordflow">return</span> <a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.size();};
350 </pre></div>
351 <p>
352     </td>
353   </tr>
354 </table>
355 <a class="anchor" name="a3" doxytag="AliHLTConsumerDescriptor::operator="></a><p>
356 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
357   <tr>
358     <td class="mdRow">
359       <table cellpadding="0" cellspacing="0" border="0">
360         <tr>
361           <td class="md" nowrap valign="top"><a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a> &amp; AliHLTConsumerDescriptor::operator=           </td>
362           <td class="md" valign="top">(&nbsp;</td>
363           <td class="md" nowrap valign="top">const <a class="el" href="classAliHLTConsumerDescriptor.html">AliHLTConsumerDescriptor</a> &amp;&nbsp;</td>
364           <td class="mdname1" valign="top" nowrap>          </td>
365           <td class="md" valign="top">&nbsp;)&nbsp;</td>
366           <td class="md" nowrap></td>
367         </tr>
368       </table>
369     </td>
370   </tr>
371 </table>
372 <table cellspacing="5" cellpadding="0" border="0">
373   <tr>
374     <td>
375       &nbsp;
376     </td>
377     <td>
378
379 <p>
380 not a valid assignment op, but defined according to effective C++ style 
381 <p>
382 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00068">68</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.
383 <p>
384 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00089">fpConsumer</a>.<div class="fragment"><pre class="fragment">00069 { 
385 00070   <span class="comment">// see header file for function documentation</span>
386 00071 
387 00072   <span class="comment">// we can simply transfer the pointer to th new object since there are no</span>
388 00073   <span class="comment">// release actions in the destructor</span>
389 00074   <a class="code" href="classAliHLTConsumerDescriptor.html#r0">fpConsumer</a>=desc.<a class="code" href="classAliHLTConsumerDescriptor.html#r0">fpConsumer</a>;
390 00075   <span class="keywordflow">return</span> *<span class="keyword">this</span>;
391 00076 }
392 </pre></div>
393 <p>
394     </td>
395   </tr>
396 </table>
397 <a class="anchor" name="a9" doxytag="AliHLTConsumerDescriptor::ReleaseActiveDataSegment"></a><p>
398 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
399   <tr>
400     <td class="mdRow">
401       <table cellpadding="0" cellspacing="0" border="0">
402         <tr>
403           <td class="md" nowrap valign="top">int AliHLTConsumerDescriptor::ReleaseActiveDataSegment           </td>
404           <td class="md" valign="top">(&nbsp;</td>
405           <td class="md" nowrap valign="top"><a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a>&nbsp;</td>
406           <td class="mdname" nowrap> <em>offset</em>, </td>
407         </tr>
408         <tr>
409           <td class="md" nowrap align="right"></td>
410           <td class="md"></td>
411           <td class="md" nowrap><a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a>&nbsp;</td>
412           <td class="mdname" nowrap> <em>size</em></td>
413         </tr>
414         <tr>
415           <td class="md"></td>
416           <td class="md">)&nbsp;</td>
417           <td class="md" colspan="2"></td>
418         </tr>
419       </table>
420     </td>
421   </tr>
422 </table>
423 <table cellspacing="5" cellpadding="0" border="0">
424   <tr>
425     <td>
426       &nbsp;
427     </td>
428     <td>
429
430 <p>
431
432 <p>
433 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00115">115</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.
434 <p>
435 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">fSegments</a>.
436 <p>
437 Referenced by <a class="el" href="AliHLTDataBuffer_8cxx-source.html#l00231">AliHLTDataBuffer::Release()</a>.<div class="fragment"><pre class="fragment">00116 {
438 00117   <span class="comment">// see header file for function documentation</span>
439 00118   <span class="keywordtype">int</span> iResult=0;
440 00119   <span class="keywordflow">if</span> (<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.size()&gt;0) {
441 00120     vector&lt;AliHLTDataBuffer::AliHLTDataSegment&gt;::iterator segment=<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.begin();
442 00121     <span class="keywordflow">while</span> (segment!=<a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.end()) {
443 00122       <span class="keywordflow">if</span> ((iResult=((*segment).fSegmentOffset==offset &amp;&amp; (*segment).fSegmentSize==size))&gt;0) {
444 00123         <a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.erase(segment);
445 00124         <span class="keywordflow">break</span>;
446 00125       }
447 00126       segment++;
448 00127     }
449 00128     <span class="keywordflow">if</span> (iResult==0) {
450 00129       <span class="comment">//HLTWarning("no data segment (%d:%d) active for consumer %p", offset, size, this);</span>
451 00130       iResult=-ENOENT;
452 00131     }
453 00132   } <span class="keywordflow">else</span> {
454 00133     <span class="comment">//HLTWarning("no data segment active for consumer %p", this);</span>
455 00134     iResult=-ENODATA;
456 00135   }
457 00136   <span class="keywordflow">return</span> iResult;
458 00137 }
459 </pre></div>
460 <p>
461     </td>
462   </tr>
463 </table>
464 <a class="anchor" name="a6" doxytag="AliHLTConsumerDescriptor::SetActiveDataSegment"></a><p>
465 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
466   <tr>
467     <td class="mdRow">
468       <table cellpadding="0" cellspacing="0" border="0">
469         <tr>
470           <td class="md" nowrap valign="top">int AliHLTConsumerDescriptor::SetActiveDataSegment           </td>
471           <td class="md" valign="top">(&nbsp;</td>
472           <td class="md" nowrap valign="top"><a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a>&nbsp;</td>
473           <td class="mdname" nowrap> <em>offset</em>, </td>
474         </tr>
475         <tr>
476           <td class="md" nowrap align="right"></td>
477           <td class="md"></td>
478           <td class="md" nowrap><a class="el" href="AliHLTDataTypes_8h.html#a6">AliHLTUInt32_t</a>&nbsp;</td>
479           <td class="mdname" nowrap> <em>size</em></td>
480         </tr>
481         <tr>
482           <td class="md"></td>
483           <td class="md">)&nbsp;</td>
484           <td class="md" colspan="2"></td>
485         </tr>
486       </table>
487     </td>
488   </tr>
489 </table>
490 <table cellspacing="5" cellpadding="0" border="0">
491   <tr>
492     <td>
493       &nbsp;
494     </td>
495     <td>
496
497 <p>
498 Set an active data segment. the pointer will be handled in a container, no allocation, copy or cleanup. <dl compact><dt><b>Parameters:</b></dt><dd>
499   <table border="0" cellspacing="2" cellpadding="0">
500     <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>offset of the segment in the buffer </td></tr>
501     <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>size of the segment in the buffer </td></tr>
502   </table>
503 </dl>
504 <dl compact><dt><b>Returns:</b></dt><dd>&gt;=0 if succeeded </dd></dl>
505
506 <p>
507 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00086">86</a> of file <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a>.
508 <p>
509 References <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">fSegments</a>.
510 <p>
511 Referenced by <a class="el" href="AliHLTDataBuffer_8cxx-source.html#l00170">AliHLTDataBuffer::Subscribe()</a>.<div class="fragment"><pre class="fragment">00087 {
512 00088   <span class="comment">// see header file for function documentation</span>
513 00089   <span class="keywordtype">int</span> iResult=0;
514 00090   <a class="code" href="classAliHLTDataBuffer_1_1AliHLTDataSegment.html">AliHLTDataBuffer::AliHLTDataSegment</a> segment(offset, size);
515 00091   <a class="code" href="classAliHLTConsumerDescriptor.html#r1">fSegments</a>.push_back(segment);
516 00092   <span class="comment">//HLTDebug("set active segment (%d:%d) for consumer %p", offset, size, this);</span>
517 00093   <span class="keywordflow">return</span> iResult;
518 00094 }
519 </pre></div>
520 <p>
521     </td>
522   </tr>
523 </table>
524 <hr><h2>Member Data Documentation</h2>
525 <a class="anchor" name="r0" doxytag="AliHLTConsumerDescriptor::fpConsumer"></a><p>
526 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
527   <tr>
528     <td class="mdRow">
529       <table cellpadding="0" cellspacing="0" border="0">
530         <tr>
531           <td class="md" nowrap valign="top"><a class="el" href="classAliHLTComponent.html">AliHLTComponent</a>* <a class="el" href="classAliHLTConsumerDescriptor.html#r0">AliHLTConsumerDescriptor::fpConsumer</a><code> [private]</code>          </td>
532         </tr>
533       </table>
534     </td>
535   </tr>
536 </table>
537 <table cellspacing="5" cellpadding="0" border="0">
538   <tr>
539     <td>
540       &nbsp;
541     </td>
542     <td>
543
544 <p>
545 consumer object 
546 <p>
547 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00089">89</a> of file <a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a>.
548 <p>
549 Referenced by <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00068">operator=()</a>.    </td>
550   </tr>
551 </table>
552 <a class="anchor" name="r1" doxytag="AliHLTConsumerDescriptor::fSegments"></a><p>
553 <table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
554   <tr>
555     <td class="mdRow">
556       <table cellpadding="0" cellspacing="0" border="0">
557         <tr>
558           <td class="md" nowrap valign="top">vector&lt;<a class="el" href="classAliHLTDataBuffer_1_1AliHLTDataSegment.html">AliHLTDataBuffer::AliHLTDataSegment</a>&gt; <a class="el" href="classAliHLTConsumerDescriptor.html#r1">AliHLTConsumerDescriptor::fSegments</a><code> [private]</code>          </td>
559         </tr>
560       </table>
561     </td>
562   </tr>
563 </table>
564 <table cellspacing="5" cellpadding="0" border="0">
565   <tr>
566     <td>
567       &nbsp;
568     </td>
569     <td>
570
571 <p>
572 transient 
573 <p>
574 list of data segments 
575 <p>
576 Definition at line <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00092">92</a> of file <a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a>.
577 <p>
578 Referenced by <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00046">AliHLTConsumerDescriptor()</a>, <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00096">CheckActiveDataSegment()</a>, <a class="el" href="AliHLTConsumerDescriptor_8h-source.html#l00081">GetNofActiveSegments()</a>, <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00115">ReleaseActiveDataSegment()</a>, <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00086">SetActiveDataSegment()</a>, and <a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html#l00078">~AliHLTConsumerDescriptor()</a>.    </td>
579   </tr>
580 </table>
581 <hr>The documentation for this class was generated from the following files:<ul>
582 <li>/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/<a class="el" href="AliHLTConsumerDescriptor_8h-source.html">AliHLTConsumerDescriptor.h</a><li>/home/perthi/cern/aliroot/AliRoot_head020507/HLT/BASE/<a class="el" href="AliHLTConsumerDescriptor_8cxx-source.html">AliHLTConsumerDescriptor.cxx</a></ul>
583 <hr size="1"><address style="align: right;"><small>Generated on Fri May 4 04:49:53 2007 for AliHLTPHOS by&nbsp;
584 <a href="http://www.doxygen.org/index.html">
585 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address>
586 </body>
587 </html>