]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/offline/AliHLTTPCOfflineTrackerComponent.h
correcting compilation warning and making change of AliShuttleInterface (rev 29388)
[u/mrichter/AliRoot.git] / HLT / TPCLib / offline / AliHLTTPCOfflineTrackerComponent.h
CommitLineData
1ac82ce6 1//-*- Mode: C++ -*-
2// $Id$
3#ifndef ALIHLTTPCOFFLINETRACKERCOMPONENT_H
4#define ALIHLTTPCOFFLINETRACKERCOMPONENT_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 AliHLTTPCOfflineTrackerComponent.h
11 @author Matthias Richter
12 @date
13 @brief Wrapper component to the TPC offline cluster finder
14*/
15
16#include "AliHLTProcessor.h"
17
18/**
19 * @class AliHLTTPCOfflineTrackerComponent
20 * Wrapper component to the TPC offline tracker.
21 *
22 * The component interfaces the AliTPCtrackerMI of the TPC offline code
0e442a0a 23 * to the online HLT. The component expects a TClonesArray containing the
1ac82ce6 24 * cluster information. The output is in ESD format.
25 *
26 * <h2>General properties:</h2>
27 *
28 * Component ID: \b TPCOfflineTracker <br>
29 * Library: \b libAliHLTTPC.so <br>
4646c6e3 30 * Input Data Types: ::kAliHLTDataTypeTObjArray|::kAliHLTDataOriginTPC <br>
31 * Output Data Types: ::kAliHLTDataTypeESDTree|::kAliHLTDataOriginTPC <br>
1ac82ce6 32 *
33 * <h2>Mandatory arguments:</h2>
34 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
35 *
36 * <h2>Optional arguments:</h2>
37 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
38 *
39 * <h2>Configuration:</h2>
40 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
41 *
42 * <h2>Default CDB entries:</h2>
43 * - loads magnetic field value from <tt>HLT/ConfigHLT/SolenoidBz</tt>.
44 *
45 * <h2>Performance:</h2>
46 * To be determined.
47 *
48 * <h2>Memory consumption:</h2>
49 * To be determined.
50 *
51 * <h2>Output size:</h2>
52 * To be determined.
53 *
488581c1 54 * @ingroup alihlt_tpc_components
1ac82ce6 55 */
aa40a4a1 56
57class AliTPCParam;
58class AliTPCtrackerMI;
59class AliESDEvent;
60
1ac82ce6 61class AliHLTTPCOfflineTrackerComponent : public AliHLTProcessor {
62public:
63 AliHLTTPCOfflineTrackerComponent();
64 virtual ~AliHLTTPCOfflineTrackerComponent();
65
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 );
71
72 // Spawn function, return new class instance
73 AliHLTComponent* Spawn();
74
75 protected:
76 // AliHLTComponent interface functions
77 int DoInit( int argc, const char** argv );
78 int DoDeinit();
79 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
80 int Reconfigure(const char* cdbEntry, const char* chainId);
81
82 using AliHLTProcessor::DoEvent;
83
84private:
85 /** copy constructor prohibited */
86 AliHLTTPCOfflineTrackerComponent(const AliHLTTPCOfflineTrackerComponent&);
87 /** assignment operator prohibited */
88 AliHLTTPCOfflineTrackerComponent& operator=(const AliHLTTPCOfflineTrackerComponent&);
aa40a4a1 89
e642ae99 90 string fGeometryFileName; //! Geometry file with full path
91 AliTPCParam *fTPCGeomParam; //! TPC geometry params
92
93 AliTPCtrackerMI *fTracker; //! TPC tracker
94 AliESDEvent *fESD; //! AliESDEvent needed by TPC tracker
1ac82ce6 95
96 /**
97 * Configure the component.
98 * Parse a string for the configuration arguments and set the component
99 * properties.
100 */
101 int Configure(const char* arguments);
102
e642ae99 103 ClassDef(AliHLTTPCOfflineTrackerComponent, 1)
1ac82ce6 104};
105#endif