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 ALIHLTTPCCAGLOBALMERGERCOMPONENT_H
10 #define ALIHLTTPCCAGLOBALMERGERCOMPONENT_H
12 /** @file AliHLTTPCCAGlobalMergerComponent.h
13 @author Matthias Kretz
15 @brief HLT TPC CA global merger component.
18 #include "AliHLTProcessor.h"
20 class AliHLTTPCCAMerger;
21 class AliHLTTPCVertex;
24 * @class AliHLTTPCCAGlobalMergerComponent
25 * The TPC global merger component
27 * Interface to the global merger of the CA tracker for HLT.
29 class AliHLTTPCCAGlobalMergerComponent : public AliHLTProcessor
33 * Constructs a AliHLTTPCCAGlobalMergerComponent.
35 AliHLTTPCCAGlobalMergerComponent();
38 * Destructs the AliHLTTPCCAGlobalMergerComponent
40 virtual ~AliHLTTPCCAGlobalMergerComponent() {};
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 AliHLTTPCCAGlobalMergerComponent fgAliHLTTPCCAGlobalMergerComponent;
103 AliHLTTPCCAGlobalMergerComponent( const AliHLTTPCCAGlobalMergerComponent & );
104 AliHLTTPCCAGlobalMergerComponent &operator=( const AliHLTTPCCAGlobalMergerComponent & );
106 /** set configuration parameters **/
107 int Configure( const char* arguments );
109 /** the global merger object */
110 AliHLTTPCCAMerger *fGlobalMerger; //!
112 double fSolenoidBz; // magnetic field
114 ClassDef( AliHLTTPCCAGlobalMergerComponent, 0 )