]>
Commit | Line | Data |
---|---|---|
e09e5bba | 1 | //-*- Mode: C++ -*- |
2 | // $Id$ | |
3 | #ifndef ALIHLTGLOBALOFFLINEVERTEXERCOMPONENT_H | |
4 | #define ALIHLTGLOBALOFFLINEVERTEXERCOMPONENT_H | |
5 | ||
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 */ | |
9 | ||
10 | // @file AliHLTGlobalOfflineVertexerComponent.h | |
11 | // @author Matthias Richter | |
12 | // @date 2010-04-19 | |
13 | // @brief Component wrapping the offline vertexer | |
14 | // @ingroup alihlt_global | |
15 | ||
16 | #include "AliHLTProcessor.h" | |
17 | #include "AliHLTComponentBenchmark.h" | |
18 | ||
19 | class AliVertexerTracks; | |
20 | ||
21 | /** | |
22 | * @class AliHLTGlobalOfflineVertexerComponent | |
23 | * Component wrapping the offline vertexer | |
24 | * | |
25 | * <h2>General properties:</h2> | |
26 | * | |
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> | |
31 | * | |
32 | * <h2>Mandatory arguments:</h2> | |
33 | * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting --> | |
34 | * | |
35 | * <h2>Optional arguments:</h2> | |
36 | * | |
37 | * <h2>Default CDB entries:</h2> | |
38 | * | |
39 | * <h2>Performance:</h2> | |
40 | * The component does not any event data processing. | |
41 | * | |
42 | * <h2>Memory consumption:</h2> | |
43 | * The component does not any event data processing. | |
44 | * | |
45 | * <h2>Output size:</h2> | |
46 | * The component has no output data. | |
47 | * | |
48 | * | |
49 | * @ingroup alihlt_global | |
50 | */ | |
51 | class AliHLTGlobalOfflineVertexerComponent : public AliHLTProcessor { | |
52 | public: | |
53 | AliHLTGlobalOfflineVertexerComponent(); | |
54 | virtual ~AliHLTGlobalOfflineVertexerComponent(); | |
55 | ||
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); | |
62 | ||
63 | // Spawn function, return new class instance | |
64 | AliHLTComponent* Spawn(); | |
65 | ||
66 | protected: | |
67 | // AliHLTComponent interface functions | |
68 | int DoInit( int argc, const char** argv ); | |
69 | int DoDeinit(); | |
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); | |
74 | ||
75 | using AliHLTProcessor::DoEvent; | |
76 | ||
77 | private: | |
78 | /** copy constructor prohibited */ | |
79 | AliHLTGlobalOfflineVertexerComponent(const AliHLTGlobalOfflineVertexerComponent&); | |
80 | /** assignment operator prohibited */ | |
81 | AliHLTGlobalOfflineVertexerComponent& operator=(const AliHLTGlobalOfflineVertexerComponent&); | |
82 | ||
83 | AliVertexerTracks* fVertexer; //! transient | |
84 | ||
85 | AliHLTComponentBenchmark fBenchmark; //! transient | |
86 | ||
87 | ClassDef(AliHLTGlobalOfflineVertexerComponent, 0) | |
88 | }; | |
89 | #endif |