3 //**************************************************************************
4 //* This file is property of and copyright by the *
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 AliHLTDataSink.cxx
20 /// @author Matthias Richter
22 /// @brief Base class implementation for HLT data source components.
25 #include "AliHLTDataSink.h"
27 /** ROOT macro for the implementation of ROOT specific class methods */
28 ClassImp(AliHLTDataSink)
30 AliHLTDataSink::AliHLTDataSink()
32 // Base class of HLT data sink components.
33 // The class provides a common interface for the implementation of HLT data
35 // Sink components do not produce any output consequently the processing
36 // function is called 'DumpEvent'.
39 AliHLTDataSink::~AliHLTDataSink()
44 AliHLTComponentDataType AliHLTDataSink::GetOutputDataType()
46 // default method as sink components do not produce output
47 AliHLTComponentDataType dt =
48 {sizeof(AliHLTComponentDataType),
49 kAliHLTVoidDataTypeID,
50 kAliHLTVoidDataOrigin};
54 void AliHLTDataSink::GetOutputDataSize( unsigned long& constBase, double& inputMultiplier )
56 // default method as sink components do not produce output
61 int AliHLTDataSink::DoProcessing( const AliHLTComponentEventData& evtData,
62 const AliHLTComponentBlockData* blocks,
63 AliHLTComponentTriggerData& trigData,
64 AliHLTUInt8_t* outputPtr,
66 AliHLTComponentBlockDataList& outputBlocks,
67 AliHLTComponentEventDoneData*& edd )
69 // Processing method, calls child's DumpEvent
74 // this is currently just to get rid of the warning "unused parameter"
77 iResult=DumpEvent(evtData, blocks, trigData);
81 int AliHLTDataSink::DumpEvent( const AliHLTComponentEventData& evtData,
82 const AliHLTComponentBlockData* /*blocks*/,
83 AliHLTComponentTriggerData& trigData )
85 // we just forward to the high level method, all other parameters already
86 // have been stored internally
87 return DumpEvent(evtData, trigData);
90 int AliHLTDataSink::DumpEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/)
92 // default method: one of DumpEvent methods must be implemented
93 HLTFatal("no processing method implemented");