//-*- Mode: C++ -*-
// $Id$
#ifndef ALIHLTGLOBALOFFLINEVERTEXERCOMPONENT_H
#define ALIHLTGLOBALOFFLINEVERTEXERCOMPONENT_H
//* This file is property of and copyright by the ALICE HLT Project *
//* ALICE Experiment at CERN, All rights reserved. *
//* See cxx source for full Copyright notice */
// @file AliHLTGlobalOfflineVertexerComponent.h
// @author Matthias Richter
// @date 2010-04-19
// @brief Component wrapping the offline vertexer
// @ingroup alihlt_global
#include "AliHLTProcessor.h"
#include "AliHLTComponentBenchmark.h"
class AliVertexerTracks;
/**
* @class AliHLTGlobalOfflineVertexerComponent
* Component wrapping the offline vertexer
*
*
General properties:
*
* Component ID: \b GlobalOfflineVertexer
* Library: \b libAliHLTGlobal.so
* Input Data Types: @ref kAliHLTDataTypeESDObject
* Output Data Types: none
*
* Mandatory arguments:
*
*
* Optional arguments:
*
* Default CDB entries:
*
* Performance:
* The component does not any event data processing.
*
* Memory consumption:
* The component does not any event data processing.
*
* Output size:
* The component has no output data.
*
*
* @ingroup alihlt_global
*/
class AliHLTGlobalOfflineVertexerComponent : public AliHLTProcessor {
public:
AliHLTGlobalOfflineVertexerComponent();
virtual ~AliHLTGlobalOfflineVertexerComponent();
// AliHLTComponent interface functions
const char* GetComponentID();
void GetInputDataTypes( vector& list);
AliHLTComponentDataType GetOutputDataType();
void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
void GetOCDBObjectDescription( TMap* const targetMap);
// Spawn function, return new class instance
AliHLTComponent* Spawn();
protected:
// AliHLTComponent interface functions
int DoInit( int argc, const char** argv );
int DoDeinit();
int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
int ScanConfigurationArgument(int argc, const char** argv);
int Reconfigure(const char* cdbEntry, const char* chainId);
int ReadPreprocessorValues(const char* modules);
using AliHLTProcessor::DoEvent;
private:
/** copy constructor prohibited */
AliHLTGlobalOfflineVertexerComponent(const AliHLTGlobalOfflineVertexerComponent&);
/** assignment operator prohibited */
AliHLTGlobalOfflineVertexerComponent& operator=(const AliHLTGlobalOfflineVertexerComponent&);
AliVertexerTracks* fVertexer; //! transient
AliHLTComponentBenchmark fBenchmark; //! transient
ClassDef(AliHLTGlobalOfflineVertexerComponent, 0)
};
#endif