3 // ************************************************************************
4 // This file is property of and copyright by the ALICE HLT Project *
5 // ALICE Experiment at CERN, All rights reserved. *
6 // See cxx source for full Copyright notice *
8 //*************************************************************************
11 #ifndef ALIHLTTPCCATRACKEROUTPUTCONVERTER_H
12 #define ALIHLTTPCCATRACKEROUTPUTCONVERTER_H
14 /// @file AliHLTTPCCATrackerOutputConverter.h
15 /// @author Sergey Gorbunov
17 /// @brief Converter of CA tracker output
20 #include "AliHLTProcessor.h"
21 #include "AliHLTComponentBenchmark.h"
25 * @class AliHLTTPCCATrackerOutputConverter
26 * Converter of the AliHLTTPCCATracker output
29 class AliHLTTPCCATrackerOutputConverter : public AliHLTProcessor
33 * Constructs a AliHLTTPCCATrackerOutputConverter.
35 AliHLTTPCCATrackerOutputConverter();
38 * Destructs the AliHLTTPCCATrackerOutputConverter
40 virtual ~AliHLTTPCCATrackerOutputConverter() {};
42 // Public functions to implement AliHLTComponent's interface.
43 // These functions are required for the registration process
46 * @copydoc AliHLTComponent::GetComponentID
48 const char *GetComponentID();
51 * @copydoc AliHLTComponent::GetInputDataTypes
53 void GetInputDataTypes( AliHLTComponentDataTypeList &list );
56 * @copydoc AliHLTComponent::GetOutputDataType
58 AliHLTComponentDataType GetOutputDataType();
61 * @copydoc AliHLTComponent::GetOutputDataSize
63 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
66 * @copydoc AliHLTComponent::Spawn
68 AliHLTComponent *Spawn();
72 // Protected functions to implement AliHLTComponent's interface.
73 // These functions provide initialization as well as the actual processing
74 // capabilities of the component.
77 * @copydoc AliHLTComponent::DoInit
79 int DoInit( int argc, const char **argv );
82 * @copydoc AliHLTComponent::DoDeinit
87 int Reconfigure( const char* cdbEntry, const char* chainId );
90 * @copydoc @ref AliHLTProcessor::DoEvent
92 int DoEvent( const AliHLTComponentEventData &evtData, const AliHLTComponentBlockData *blocks,
93 AliHLTComponentTriggerData &trigData, AliHLTUInt8_t *outputPtr,
94 AliHLTUInt32_t &size, AliHLTComponentBlockDataList &outputBlocks );
96 using AliHLTProcessor::DoEvent;
100 static AliHLTTPCCATrackerOutputConverter fgAliHLTTPCCATrackerOutputConverter;
103 AliHLTTPCCATrackerOutputConverter( const AliHLTTPCCATrackerOutputConverter & );
104 AliHLTTPCCATrackerOutputConverter &operator=( const AliHLTTPCCATrackerOutputConverter & );
106 /** set configuration parameters **/
107 void SetDefaultConfiguration();
108 int ReadConfigurationString( const char* arguments );
109 int ReadCDBEntry( const char* cdbEntry, const char* chainId );
110 int Configure( const char* cdbEntry, const char* chainId, const char *commandLine );
112 AliHLTComponentBenchmark fBenchmark;// benchmark
114 ClassDef( AliHLTTPCCATrackerOutputConverter, 0 )
117 #endif //ALIHLTTPCCAGLOBALMERGERCOMPONENT_H