3 #ifndef ALIHLTTPCCLUSTERTRANSFORMATIONCOMPONENT_H
4 #define ALIHLTTPCCLUSTERTRANSFORMATIONCOMPONENT_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 AliHLTTPCClusterTransformationComponent.h
11 @author Sergey Gorbunov
16 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTProcessor.h"
23 #include "AliHLTComponentBenchmark.h"
25 class AliHLTTPCClusterTransformation;
29 * @class AliHLTTPCClusterTransformationComponent
30 * @ingroup alihlt_tpc_components
33 class AliHLTTPCClusterTransformationComponent : public AliHLTProcessor {
37 /** standard constructor */
38 AliHLTTPCClusterTransformationComponent();
40 virtual ~AliHLTTPCClusterTransformationComponent();
42 // Public functions to implement AliHLTComponent's interface.
43 // These functions are required for the registration process
45 /** interface function, see AliHLTComponent for description */
46 const char* GetComponentID();
47 /** interface function, see AliHLTComponent for description */
48 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
49 /** interface function, see AliHLTComponent for description */
50 AliHLTComponentDataType GetOutputDataType();
51 /** interface function, see AliHLTComponent for description */
52 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
53 /** interface function, see AliHLTComponent for description */
54 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
55 /** interface function, see AliHLTComponent for description */
56 AliHLTComponent* Spawn();
57 /** interface function, see @ref AliHLTComponent for description */
58 void GetOCDBObjectDescription( TMap* const targetMap);
62 // Protected functions to implement AliHLTComponent's interface.
63 // These functions provide initialization as well as the actual processing capabilities of the component.
65 int DoInit( int argc, const char** argv );
66 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
67 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
68 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
71 int Reconfigure(const char* cdbEntry, const char* chainId);
73 int ScanConfigurationArgument(int argc, const char** argv);
75 using AliHLTProcessor::DoEvent;
80 /** copy constructor prohibited */
81 AliHLTTPCClusterTransformationComponent(const AliHLTTPCClusterTransformationComponent&);
83 /** assignment operator prohibited */
84 AliHLTTPCClusterTransformationComponent& operator=(const AliHLTTPCClusterTransformationComponent&);
86 static const char* fgkOCDBEntryClusterTransformation; //!transient
87 static AliHLTTPCClusterTransformation fgTransform; //!transient
88 static Bool_t fgTimeInitialisedFromEvent; //!transient
90 Bool_t fDataId; // change output data description
92 AliHLTComponentBenchmark fBenchmark; // benchmarks
94 ClassDef(AliHLTTPCClusterTransformationComponent, 0)