1 // ************************************************************************
2 // This file is property of and copyright by the ALICE HLT Project *
3 // ALICE Experiment at CERN, All rights reserved. *
4 // See cxx source for full Copyright notice *
6 //*************************************************************************
9 #ifndef ALIHLTTPCCATRACKEROUTPUTCONVERTER_H
10 #define ALIHLTTPCCATRACKEROUTPUTCONVERTER_H
12 /** @file AliHLTTPCCATrackerOutputConverter.h
13 @author Matthias Kretz
15 @brief Converter of the AliHLTTPCCATracker output
18 #include "AliHLTProcessor.h"
19 #include "AliHLTComponentBenchmark.h"
23 * @class AliHLTTPCCATrackerOutputConverter
24 * Converter of the AliHLTTPCCATracker output
27 class AliHLTTPCCATrackerOutputConverter : public AliHLTProcessor
31 * Constructs a AliHLTTPCCATrackerOutputConverter.
33 AliHLTTPCCATrackerOutputConverter();
36 * Destructs the AliHLTTPCCATrackerOutputConverter
38 virtual ~AliHLTTPCCATrackerOutputConverter() {};
40 // Public functions to implement AliHLTComponent's interface.
41 // These functions are required for the registration process
44 * @copydoc AliHLTComponent::GetComponentID
46 const char *GetComponentID();
49 * @copydoc AliHLTComponent::GetInputDataTypes
51 void GetInputDataTypes( AliHLTComponentDataTypeList &list );
54 * @copydoc AliHLTComponent::GetOutputDataType
56 AliHLTComponentDataType GetOutputDataType();
59 * @copydoc AliHLTComponent::GetOutputDataSize
61 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
64 * @copydoc AliHLTComponent::Spawn
66 AliHLTComponent *Spawn();
70 // Protected functions to implement AliHLTComponent's interface.
71 // These functions provide initialization as well as the actual processing
72 // capabilities of the component.
75 * @copydoc AliHLTComponent::DoInit
77 int DoInit( int argc, const char **argv );
80 * @copydoc AliHLTComponent::DoDeinit
85 int Reconfigure( const char* cdbEntry, const char* chainId );
88 * @copydoc @ref AliHLTProcessor::DoEvent
90 int DoEvent( const AliHLTComponentEventData &evtData, const AliHLTComponentBlockData *blocks,
91 AliHLTComponentTriggerData &trigData, AliHLTUInt8_t *outputPtr,
92 AliHLTUInt32_t &size, AliHLTComponentBlockDataList &outputBlocks );
94 using AliHLTProcessor::DoEvent;
98 static AliHLTTPCCATrackerOutputConverter fgAliHLTTPCCATrackerOutputConverter;
101 AliHLTTPCCATrackerOutputConverter( const AliHLTTPCCATrackerOutputConverter & );
102 AliHLTTPCCATrackerOutputConverter &operator=( const AliHLTTPCCATrackerOutputConverter & );
104 /** set configuration parameters **/
105 void SetDefaultConfiguration();
106 int ReadConfigurationString( const char* arguments );
107 int ReadCDBEntry( const char* cdbEntry, const char* chainId );
108 int Configure( const char* cdbEntry, const char* chainId, const char *commandLine );
110 AliHLTComponentBenchmark fBenchmark;// benchmark
112 ClassDef( AliHLTTPCCATrackerOutputConverter, 0 )
115 #endif //ALIHLTTPCCAGLOBALMERGERCOMPONENT_H