4 #ifndef ALIHLTTPCCLUSTERCONVERTERCOMPONENT_H
5 #define ALIHLTTPCCLUSTERCONVERTERCOMPONENT_H
6 //* This file is property of and copyright by the ALICE HLT Project *
7 //* ALICE Experiment at CERN, All rights reserved. *
8 //* See cxx source for full Copyright notice *
10 /** @file AliHLTTPCClusterConverterComponent.h
11 @author Kalliopi Kanaki
13 @brief The TPC cluster format conversion component.
16 #include "AliHLTProcessor.h"
18 class AliHLTTPCSpacePointData;
19 class AliHLTTPCTrackSegmentData;
23 * @class AliHLTTPCClusterConverterComponent
24 * The TPC cluster format conversion component
26 * The purpose of the component is publishing the
27 * USED clusters of the tracks, translating them to
28 * the offline format. For this reason, it subscribes
29 * to the cluster finder, the slice tracker and the
32 * @ingroup alihlt_tpc_components
35 class AliHLTTPCClusterConverterComponent : public AliHLTProcessor{
38 /** default constructor */
39 AliHLTTPCClusterConverterComponent();
41 virtual ~AliHLTTPCClusterConverterComponent();
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
46 /** interface function, see AliHLTComponent for description */
47 const char* GetComponentID();
48 /** interface function, see AliHLTComponent for description */
49 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
50 /** interface function, see AliHLTComponent for description */
51 AliHLTComponentDataType GetOutputDataType();
52 /** interface function, see AliHLTComponent for description */
53 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
54 /** interface function, see AliHLTComponent for description */
55 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
56 /** interface function, see AliHLTComponent for description */
57 AliHLTComponent* Spawn();
61 /** interface function, see AliHLTComponent for description */
62 int DoInit( int argc, const char** argv );
63 /** interface function, see AliHLTComponent for description */
65 /** interface function, see AliHLTComponent for description */
66 int DoEvent(const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData);
68 int Reconfigure(const char* cdbEntry, const char* chainId);
70 using AliHLTProcessor::DoEvent;
73 /** copy constructor prohibited */
74 AliHLTTPCClusterConverterComponent(const AliHLTTPCClusterConverterComponent&);
75 /** assignment operator prohibited */
76 AliHLTTPCClusterConverterComponent& operator=(const AliHLTTPCClusterConverterComponent&);
78 * Configure the component.
79 * Parse a string for the configuration arguments and set the component
82 int Configure(const char* arguments);
84 vector<AliHLTTPCSpacePointData> fClusters; //! transient
85 vector<AliHLTTPCTrackSegmentData> fTracks; //!transient
86 TObjArray *fOffArray; //!transient
88 ClassDef(AliHLTTPCClusterConverterComponent, 0);