4 #ifndef ALIHLTSAMPLEOFFLINESINKCOMPONENT_H
5 #define ALIHLTSAMPLEOFFLINESINKCOMPONENT_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx sink for full Copyright notice */
9 /** @file AliHLTSampleOfflineSinkComponent.h
10 @author Matthias Richter
12 @brief This is a sample offline interface component.
15 #include "AliHLTOfflineDataSink.h"
20 * @class AliHLTSampleOfflineSinkComponent
21 * This is a sample offline interface component.
23 * @ingroup alihlt_system
25 class AliHLTSampleOfflineSinkComponent : public AliHLTOfflineDataSink {
28 * standard constructor. The agent is automatically registered in the
29 * global agent manager
31 AliHLTSampleOfflineSinkComponent();
33 virtual ~AliHLTSampleOfflineSinkComponent();
36 * Get the id of the component.
37 * Each component is identified by a unique id.
38 * The function is pure virtual and must be implemented by the child class.
39 * @return component id (string)
41 const char* GetComponentID();
44 * Get the input data types of the component.
45 * The function is pure virtual and must be implemented by the child class.
46 * @return list of data types in the vector reference
48 virtual void GetInputDataTypes( vector<AliHLTComponentDataType>& );
52 * Each component must implement a spawn function to create a new instance of
53 * the class. Basically the function must return <i>new <b>my_class_name</b></i>.
54 * @return new class instance
56 virtual AliHLTComponent* Spawn();
59 * Fill ESD for one event.
60 * Fill the ESD with the previously reconstructed data. Interface method called by
61 * the AliHLTOfflineInterface framework.
62 * @param eventNo event No. \em Note: this is an internal enumeration of the
64 * @param runLoader the AliRoot runloader
65 * @param esd an AliESDEvent instance
66 * @return neg. error code if failed
68 int FillESD(int eventNo, AliRunLoader* runLoader, AliESDEvent* esd);
74 int DoInit( int argc, const char** argv );
83 * @param evtData event data structure
84 * @param trigData trigger data structure
87 int DumpEvent(const AliHLTComponentEventData& evtData,
88 AliHLTComponentTriggerData& trigData);
90 using AliHLTOfflineDataSink::DumpEvent;
93 ClassDef(AliHLTSampleOfflineSinkComponent, 0);