3 #ifndef ALIHLTGLOBALOFFLINEVERTEXERCOMPONENT_H
4 #define ALIHLTGLOBALOFFLINEVERTEXERCOMPONENT_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 AliHLTGlobalOfflineVertexerComponent.h
11 // @author Matthias Richter
13 // @brief Component wrapping the offline vertexer
14 // @ingroup alihlt_global
16 #include "AliHLTProcessor.h"
17 #include "AliHLTComponentBenchmark.h"
19 class AliVertexerTracks;
22 * @class AliHLTGlobalOfflineVertexerComponent
23 * Component wrapping the offline vertexer
25 * <h2>General properties:</h2>
27 * Component ID: \b GlobalOfflineVertexer <br>
28 * Library: \b libAliHLTGlobal.so <br>
29 * Input Data Types: @ref kAliHLTDataTypeESDObject <br>
30 * Output Data Types: none <br>
32 * <h2>Mandatory arguments:</h2>
33 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
35 * <h2>Optional arguments:</h2>
37 * <h2>Default CDB entries:</h2>
39 * <h2>Performance:</h2>
40 * The component does not any event data processing.
42 * <h2>Memory consumption:</h2>
43 * The component does not any event data processing.
45 * <h2>Output size:</h2>
46 * The component has no output data.
49 * @ingroup alihlt_global
51 class AliHLTGlobalOfflineVertexerComponent : public AliHLTProcessor {
53 AliHLTGlobalOfflineVertexerComponent();
54 virtual ~AliHLTGlobalOfflineVertexerComponent();
56 // AliHLTComponent interface functions
57 const char* GetComponentID();
58 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
59 AliHLTComponentDataType GetOutputDataType();
60 void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
61 void GetOCDBObjectDescription( TMap* const targetMap);
63 // Spawn function, return new class instance
64 AliHLTComponent* Spawn();
67 // AliHLTComponent interface functions
68 int DoInit( int argc, const char** argv );
70 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
71 int ScanConfigurationArgument(int argc, const char** argv);
72 int Reconfigure(const char* cdbEntry, const char* chainId);
73 int ReadPreprocessorValues(const char* modules);
75 using AliHLTProcessor::DoEvent;
78 /** copy constructor prohibited */
79 AliHLTGlobalOfflineVertexerComponent(const AliHLTGlobalOfflineVertexerComponent&);
80 /** assignment operator prohibited */
81 AliHLTGlobalOfflineVertexerComponent& operator=(const AliHLTGlobalOfflineVertexerComponent&);
83 AliVertexerTracks* fVertexer; //! transient
85 AliHLTComponentBenchmark fBenchmark; //! transient
87 ClassDef(AliHLTGlobalOfflineVertexerComponent, 0)