]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/BASE/AliHLTDataSink.h
changes according to coding conventions
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLTDataSink.h
CommitLineData
421b7534 1// @(#) $Id$
2
3#ifndef ALIHLTDATASINK_H
4#define ALIHLTDATASINK_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTDataSink.h
9 @author Matthias Richter
10 @date
b22e91eb 11 @brief Base class declaration for HLT data sink components.
12 @note The class is used in Offline (AliRoot) context
13*/
421b7534 14
15#include "AliHLTComponent.h"
16
17/**
18 * @class AliHLTDataSink
19 * Base class of HLT data sink components.
20 * The class provides a common interface for the implementation of HLT data
21 * sink components. The child class must implement the functions:
b22e91eb 22 * - @ref DoInit (optional)
23 * - @ref DoDeinit (optional)
24 * - @ref DumpEvent
25 * - @ref GetComponentID
26 * - @ref GetInputDataTypes
27 * - @ref GetOutputDataType
28 * - @ref GetOutputDataSize
29 * - @ref Spawn
421b7534 30 *
b22e91eb 31 * @ingroup alihlt_component
421b7534 32 */
33class AliHLTDataSink : public AliHLTComponent {
34 public:
35 /** standard constructor */
36 AliHLTDataSink();
37 /** standard destructor */
38 virtual ~AliHLTDataSink();
39
40 /**
41 * Event processing function.
42 * The method is called by the framework to process one event. After
43 * preparation of data structures. The call is redirected to DumpEvent.
44 * @return neg. error code if failed
45 */
8ede8717 46 int ProcessEvent( const AliHLTComponentEventData& evtData,
47 const AliHLTComponentBlockData* blocks,
48 AliHLTComponentTriggerData& trigData,
421b7534 49 AliHLTUInt8_t* outputPtr,
50 AliHLTUInt32_t& size,
51 AliHLTUInt32_t& outputBlockCnt,
8ede8717 52 AliHLTComponentBlockData*& outputBlocks,
53 AliHLTComponentEventDoneData*& edd );
421b7534 54
55 // Information member functions for registration.
56
57 /**
58 * Return @ref AliHLTComponent::kSink type as component type.
59 * @return component type id
60 */
61 TComponentType GetComponentType() { return AliHLTComponent::kSink;}
62
63 private:
64 /**
65 * Data processing method for the component.
66 * @param evtData event data structure
67 * @param blocks input data block descriptors
68 * @param trigData trigger data structure
69 */
8ede8717 70 virtual int DumpEvent( const AliHLTComponentEventData& evtData,
71 const AliHLTComponentBlockData* blocks,
72 AliHLTComponentTriggerData& trigData ) = 0;
421b7534 73
74 ClassDef(AliHLTDataSink, 0)
75};
76#endif