3 /**************************************************************************
4 * This file is property of and copyright by the ALICE HLT Project *
5 * ALICE Experiment at CERN, All rights reserved. *
7 * Primary Authors: Matthias Richter <Matthias.Richter@ift.uib.no> *
8 * for The ALICE HLT Project. *
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 **************************************************************************/
19 /** @file AliHLTDataSource.cxx
20 @author Matthias Richter
22 @brief Base class implementation for HLT data source components. */
28 #include "AliHLTDataSource.h"
30 /** ROOT macro for the implementation of ROOT specific class methods */
31 ClassImp(AliHLTDataSource)
33 AliHLTDataSource::AliHLTDataSource()
35 // see header file for class documentation
37 // refer to README to build package
39 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
42 AliHLTDataSource::~AliHLTDataSource()
44 // see header file for class documentation
47 void AliHLTDataSource::GetInputDataTypes( vector<AliHLTComponentDataType>& list)
49 // see header file for class documentation
50 list.clear(); // there are no input data types
54 int AliHLTDataSource::DoProcessing( const AliHLTComponentEventData& evtData,
55 const AliHLTComponentBlockData* blocks,
56 AliHLTComponentTriggerData& trigData,
57 AliHLTUInt8_t* outputPtr,
59 vector<AliHLTComponentBlockData>& outputBlocks,
60 AliHLTComponentEventDoneData*& edd )
62 // see header file for class documentation
65 // this is currently just to get rid of the warning "unused parameter"
67 if (evtData.fBlockCnt > 0) {
68 HLTWarning("Data source component skips input data blocks");
70 iResult=GetEvent(evtData, trigData, outputPtr, size, outputBlocks);
71 HLTDebug("component %s (%p) GetEvent finished (%d)", GetComponentID(), this, iResult);
76 int AliHLTDataSource::GetEvent( const AliHLTComponentEventData& evtData,
77 AliHLTComponentTriggerData& trigData,
78 AliHLTUInt8_t* outputPtr,
80 vector<AliHLTComponentBlockData>& outputBlocks )
82 // we just forward to the high level method, all other parameters already
83 // have been stored internally
84 return GetEvent(evtData, trigData);
87 int AliHLTDataSource::GetEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData)
89 HLTFatal("no processing method implemented");