4 #ifndef ALIHLTTPCGLOBALMERGERCOMPONENT_H
5 #define ALIHLTTPCGLOBALMERGERCOMPONENT_H
6 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
9 /* AliHLTTPCGlobalMergerComponent
12 #include "AliHLTProcessor.h"
13 #include "AliHLTTPCDefinitions.h"
15 class AliHLTTPCGlobalMerger;
16 class AliHLTTPCVertex;
18 class AliHLTTPCGlobalMergerComponent : public AliHLTProcessor
21 AliHLTTPCGlobalMergerComponent();
22 virtual ~AliHLTTPCGlobalMergerComponent();
24 // Public functions to implement AliHLTComponent's interface.
25 // These functions are required for the registration process
27 const char* GetComponentID();
28 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
29 AliHLTComponent_DataType GetOutputDataType();
30 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
31 AliHLTComponent* Spawn();
35 void SetMergerParameters(Double_t maxy=2.0,Double_t maxz=3.0,Double_t maxkappa=0.003,
36 Double_t maxpsi=0.1,Double_t maxtgl=0.05);
38 // Protected functions to implement AliHLTComponent's interface.
39 // These functions provide initialization as well as the actual processing
40 // capabilities of the component.
42 int DoInit( int argc, const char** argv );
44 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
45 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
46 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
50 AliHLTTPCGlobalMerger* fGlobalMerger;
51 AliHLTTPCVertex* fVertex;
56 const AliHLTComponent_BlockData* fVertexBlock;
57 unsigned fVertexBlockIndex;
58 const AliHLTComponent_BlockData* fTrackletBlock;
59 unsigned fTrackletBlockIndex;
62 ClassDef(AliHLTTPCGlobalMergerComponent, 0)