]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTDataSource.cxx
correcting type in forward declaration
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataSource.cxx
CommitLineData
421b7534 1// $Id$
2
3/**************************************************************************
9be2600f 4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
421b7534 6 * *
9be2600f 7 * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8 * for The ALICE HLT Project. *
421b7534 9 * *
10 * Permission to use, copy, modify and distribute this software and its *
11 * documentation strictly for non-commercial purposes is hereby granted *
12 * without fee, provided that the above copyright notice appears in all *
13 * copies and that both the copyright notice and this permission notice *
14 * appear in the supporting documentation. The authors make no claims *
15 * about the suitability of this software for any purpose. It is *
16 * provided "as is" without express or implied warranty. *
17 **************************************************************************/
18
19/** @file AliHLTDataSource.cxx
20 @author Matthias Richter
21 @date
22 @brief Base class implementation for HLT data source components. */
23
24#if __GNUC__>= 3
25using namespace std;
26#endif
27
28#include "AliHLTDataSource.h"
29
b22e91eb 30/** ROOT macro for the implementation of ROOT specific class methods */
421b7534 31ClassImp(AliHLTDataSource)
32
33AliHLTDataSource::AliHLTDataSource()
34{
70ed7d01 35 // see header file for class documentation
36 // or
37 // refer to README to build package
38 // or
39 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
421b7534 40}
41
42AliHLTDataSource::~AliHLTDataSource()
43{
70ed7d01 44 // see header file for class documentation
421b7534 45}
46
2d7ff710 47void AliHLTDataSource::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
48{
70ed7d01 49 // see header file for class documentation
2d7ff710 50 list.clear(); // there are no input data types
51}
52
53
3cde846d 54int AliHLTDataSource::DoProcessing( const AliHLTComponentEventData& evtData,
48abe484 55 const AliHLTComponentBlockData* blocks,
8ede8717 56 AliHLTComponentTriggerData& trigData,
421b7534 57 AliHLTUInt8_t* outputPtr,
58 AliHLTUInt32_t& size,
a655eae3 59 vector<AliHLTComponentBlockData>& outputBlocks,
8ede8717 60 AliHLTComponentEventDoneData*& edd )
421b7534 61{
70ed7d01 62 // see header file for class documentation
421b7534 63 int iResult=0;
421b7534 64 if (evtData.fBlockCnt > 0) {
48abe484 65 int unknown=-1;
ac192d4d 66 for (unsigned int block=0; block<evtData.fBlockCnt; block++) {
48abe484 67 if (blocks[block].fDataType==kAliHLTDataTypeSOR ||
42a6dea2 68 blocks[block].fDataType==kAliHLTDataTypeEOR ||
3baf1595 69 blocks[block].fDataType==kAliHLTDataTypeEvent ||
f5423244 70 blocks[block].fDataType==kAliHLTDataTypeRunType ||
3baf1595 71 blocks[block].fDataType==kAliHLTDataTypeComponentStatistics ||
72 blocks[block].fDataType==kAliHLTDataTypeComponentTable ||
73 blocks[block].fDataType==kAliHLTDataTypeECSParam) {
48abe484 74 continue;
75 }
76 unknown=block;
77 break;
78 }
f5423244 79 static int warningCount=0;
80 if (unknown>=0 && warningCount++<5) {
48abe484 81 HLTWarning("Data source component skips input data blocks: first unknown block %s",
82 DataType2Text(blocks[unknown].fDataType).c_str());
457ec821 83 }
84 }
48abe484 85 iResult=GetEvent(evtData, trigData, outputPtr, size, outputBlocks);
86 HLTDebug("component %s (%p) GetEvent finished (%d)", GetComponentID(), this, iResult);
421b7534 87 edd = NULL;
88 return iResult;
89}
a655eae3 90
91int AliHLTDataSource::GetEvent( const AliHLTComponentEventData& evtData,
298ef463 92 AliHLTComponentTriggerData& trigData,
93 AliHLTUInt8_t* /*outputPtr*/,
53f79557 94 AliHLTUInt32_t& size,
298ef463 95 vector<AliHLTComponentBlockData>& /*outputBlocks*/ )
a655eae3 96{
97 // we just forward to the high level method, all other parameters already
98 // have been stored internally
53f79557 99 size=0;
a655eae3 100 return GetEvent(evtData, trigData);
101}
102
298ef463 103int AliHLTDataSource::GetEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/)
a655eae3 104{
105 HLTFatal("no processing method implemented");
106 return -ENOSYS;
107}