//-*- Mode: C++ -*- // $Id$ #ifndef ALIHLTTPCOFFLINETRACKERCOMPONENT_H #define ALIHLTTPCOFFLINETRACKERCOMPONENT_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 AliHLTTPCOfflineTrackerComponent.h @author Matthias Richter @date @brief Wrapper component to the TPC offline cluster finder */ #include "AliHLTProcessor.h" /** * @class AliHLTTPCOfflineTrackerComponent * Wrapper component to the TPC offline tracker. * * The component interfaces the AliTPCtrackerMI of the TPC offline code * to the online HLT. The component expects a full TreeR containing the * cluster information. The output is in ESD format. * *

General properties:

* * Component ID: \b TPCOfflineTracker
* Library: \b libAliHLTTPC.so
* Input Data Types: @ref kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC
* Output Data Types: @ref kAliHLTDataTypeESDTree|kAliHLTDataOriginTPC
* *

Mandatory arguments:

* * *

Optional arguments:

* * *

Configuration:

* * *

Default CDB entries:

* - loads magnetic field value from HLT/ConfigHLT/SolenoidBz. * *

Performance:

* To be determined. * *

Memory consumption:

* To be determined. * *

Output size:

* To be determined. * * @ingroup alihlt_tpc_components */ class AliTPCParam; class AliTPCtrackerMI; class AliESDEvent; class AliESDfriend; class AliHLTTPCOfflineTrackerComponent : public AliHLTProcessor { public: AliHLTTPCOfflineTrackerComponent(); virtual ~AliHLTTPCOfflineTrackerComponent(); // AliHLTComponent interface functions const char* GetComponentID(); void GetInputDataTypes( vector& list); AliHLTComponentDataType GetOutputDataType(); void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); // 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 Reconfigure(const char* cdbEntry, const char* chainId); using AliHLTProcessor::DoEvent; private: /** copy constructor prohibited */ AliHLTTPCOfflineTrackerComponent(const AliHLTTPCOfflineTrackerComponent&); /** assignment operator prohibited */ AliHLTTPCOfflineTrackerComponent& operator=(const AliHLTTPCOfflineTrackerComponent&); string fGeometryFileName; //! Geometry file with full path AliTPCParam *fTPCGeomParam; //! TPC geometry params AliTPCtrackerMI *fTracker; //! TPC tracker AliESDEvent *fESD; //! AliESDEvent needed by TPC tracker AliESDfriend *fESDfriend; //! AliESDEvent needed by TPC calibration component /** * Configure the component. * Parse a string for the configuration arguments and set the component * properties. */ int Configure(const char* arguments); ClassDef(AliHLTTPCOfflineTrackerComponent, 1) }; #endif