3 #ifndef ALIHLTTPCOFFLINETRACKERCOMPONENT_H
4 #define ALIHLTTPCOFFLINETRACKERCOMPONENT_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 AliHLTTPCOfflineTrackerComponent.h
11 @author Matthias Richter
13 @brief Wrapper component to the TPC offline cluster finder
16 #include "AliHLTProcessor.h"
19 * @class AliHLTTPCOfflineTrackerComponent
20 * Wrapper component to the TPC offline tracker.
22 * The component interfaces the AliTPCtrackerMI of the TPC offline code
23 * to the online HLT. The component expects a full TreeR containing the
24 * cluster information. The output is in ESD format.
26 * <h2>General properties:</h2>
28 * Component ID: \b TPCOfflineTracker <br>
29 * Library: \b libAliHLTTPC.so <br>
30 * Input Data Types: @ref kAliHLTDataTypeAliTreeR|kAliHLTDataOriginTPC <br>
31 * Output Data Types: @ref kAliHLTDataTypeESDTree|kAliHLTDataOriginTPC <br>
33 * <h2>Mandatory arguments:</h2>
34 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
36 * <h2>Optional arguments:</h2>
37 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
39 * <h2>Configuration:</h2>
40 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
42 * <h2>Default CDB entries:</h2>
43 * - loads magnetic field value from <tt>HLT/ConfigHLT/SolenoidBz</tt>.
45 * <h2>Performance:</h2>
48 * <h2>Memory consumption:</h2>
51 * <h2>Output size:</h2>
54 * @ingroup alihlt_tpc_components
58 class AliTPCtrackerMI;
61 class AliHLTTPCOfflineTrackerComponent : public AliHLTProcessor {
63 AliHLTTPCOfflineTrackerComponent();
64 virtual ~AliHLTTPCOfflineTrackerComponent();
66 // AliHLTComponent interface functions
67 const char* GetComponentID();
68 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
69 AliHLTComponentDataType GetOutputDataType();
70 void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
72 // Spawn function, return new class instance
73 AliHLTComponent* Spawn();
76 // AliHLTComponent interface functions
77 int DoInit( int argc, const char** argv );
79 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
80 int Reconfigure(const char* cdbEntry, const char* chainId);
82 using AliHLTProcessor::DoEvent;
85 /** copy constructor prohibited */
86 AliHLTTPCOfflineTrackerComponent(const AliHLTTPCOfflineTrackerComponent&);
87 /** assignment operator prohibited */
88 AliHLTTPCOfflineTrackerComponent& operator=(const AliHLTTPCOfflineTrackerComponent&);
90 Double_t fOutputPercentage; // percentage of output data
91 AliTPCParam *fTPCGeomParam; // TPC geometry params
92 AliTPCtrackerMI *fTracker; // TPC tracker
93 AliESDEvent *fESD; // AliESDEvent needed by TPC tracker
96 * Configure the component.
97 * Parse a string for the configuration arguments and set the component
100 int Configure(const char* arguments);
102 ClassDef(AliHLTTPCOfflineTrackerComponent, 0)