X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=HLT%2FBASE%2FAliHLTDataSink.h;h=38d93e4e023e205f14408d044ff877a98033b197;hb=aba8974816885ce9049f355c6309ac7f4160084e;hp=2852e0bd468a0c528635a9e323bd37b1e4a9f88d;hpb=b22e91ebe4a536f9297f8739a42200567f807e2c;p=u%2Fmrichter%2FAliRoot.git diff --git a/HLT/BASE/AliHLTDataSink.h b/HLT/BASE/AliHLTDataSink.h index 2852e0bd468..38d93e4e023 100644 --- a/HLT/BASE/AliHLTDataSink.h +++ b/HLT/BASE/AliHLTDataSink.h @@ -1,3 +1,4 @@ +//-*- Mode: C++ -*- // @(#) $Id$ #ifndef ALIHLTDATASINK_H @@ -12,6 +13,12 @@ @note The class is used in Offline (AliRoot) context */ +// see below for class documentation +// or +// refer to README to build package +// or +// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt + #include "AliHLTComponent.h" /** @@ -24,8 +31,6 @@ * - @ref DumpEvent * - @ref GetComponentID * - @ref GetInputDataTypes - * - @ref GetOutputDataType - * - @ref GetOutputDataSize * - @ref Spawn * * @ingroup alihlt_component @@ -43,14 +48,13 @@ class AliHLTDataSink : public AliHLTComponent { * preparation of data structures. The call is redirected to DumpEvent. * @return neg. error code if failed */ - int ProcessEvent( const AliHLTComponent_EventData& evtData, - const AliHLTComponent_BlockData* blocks, - AliHLTComponent_TriggerData& trigData, + int DoProcessing( const AliHLTComponentEventData& evtData, + const AliHLTComponentBlockData* blocks, + AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size, - AliHLTUInt32_t& outputBlockCnt, - AliHLTComponent_BlockData*& outputBlocks, - AliHLTComponent_EventDoneData*& edd ); + vector& outputBlocks, + AliHLTComponentEventDoneData*& edd ); // Information member functions for registration. @@ -60,17 +64,42 @@ class AliHLTDataSink : public AliHLTComponent { */ TComponentType GetComponentType() { return AliHLTComponent::kSink;} - private: /** - * Data processing method for the component. + * Default implementation for all data sinks. + * There are no output data types. + */ + AliHLTComponentDataType GetOutputDataType(); + + /** + * Default implementation for all data sinks. + * There is no output data. + */ + void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); + + protected: + + /** + * The low-level data processing method for the component. + * This is the custom processing method and can be overloaded by + * the component. * @param evtData event data structure * @param blocks input data block descriptors * @param trigData trigger data structure */ - virtual int DumpEvent( const AliHLTComponent_EventData& evtData, - const AliHLTComponent_BlockData* blocks, - AliHLTComponent_TriggerData& trigData ) = 0; + virtual int DumpEvent( const AliHLTComponentEventData& evtData, + const AliHLTComponentBlockData* blocks, + AliHLTComponentTriggerData& trigData ); + + /** + * The high-level data processing method. + * This is the default processing method; the method is called + * if no low level @ref DumpEvent method is overloaded by the component. + * @param evtData event data structure + * @param trigData trigger data structure + */ + virtual int DumpEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData); + - ClassDef(AliHLTDataSink, 0) + ClassDef(AliHLTDataSink, 1) }; #endif