]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/global/AliHLTGlobalOfflineVertexerComponent.h
- commented out the UPC and V0 branches
[u/mrichter/AliRoot.git] / HLT / global / AliHLTGlobalOfflineVertexerComponent.h
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