]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCSliceTrackerComponent.h
code cleanup, coding rules, eff C++
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCSliceTrackerComponent.h
CommitLineData
71d7c760 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCSLICETRACKERCOMPONENT_H
5#define ALIHLTTPCSLICETRACKERCOMPONENT_H
6/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
8
de554e07 9/** @file AliHLTTPCSliceTrackerComponent.h
10 @author Timm Steinbeck, Matthias Richter
11 @date
12 @brief The TPC conformal mapping tracker component.
13*/
71d7c760 14
e67b0680 15// see below for class documentation
16// or
17// refer to README to build package
18// or
19// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
20
71d7c760 21#include "AliHLTProcessor.h"
71d7c760 22
a6c02c85 23class AliHLTTPCConfMapper;
24class AliHLTTPCVertex;
ecefc48a 25class AliHLTTPCInterMerger;
71d7c760 26
de554e07 27/**
28 * @class AliHLTTPCSliceTrackerComponent
29 * The TPC conformal mapping tracker component.
30 *
31 * The component has the following component arguments:
32 * - disable-merger disable merging of track segments
33 * - pp-run parameter set for pp run
34 * - multiplicity multiplicity to choose parameter set for
35 * - bfield magnatic field
36 *
37 * @ingroup alihlt_tpc
38 */
71d7c760 39class AliHLTTPCSliceTrackerComponent : public AliHLTProcessor
6235cd38 40{
41public:
42 /** default constructor */
43 AliHLTTPCSliceTrackerComponent();
44 /** not a valid copy constructor, defined according to effective C++ style */
45 AliHLTTPCSliceTrackerComponent(const AliHLTTPCSliceTrackerComponent&);
46 /** not a valid assignment op, but defined according to effective C++ style */
47 AliHLTTPCSliceTrackerComponent& operator=(const AliHLTTPCSliceTrackerComponent&);
48 /** destructor */
49 virtual ~AliHLTTPCSliceTrackerComponent();
71d7c760 50
5df0cbb9 51 // Public functions to implement AliHLTComponent's interface.
52 // These functions are required for the registration process
71d7c760 53
5df0cbb9 54 /** interface function, see @ref AliHLTComponent for description */
55 const char* GetComponentID();
56 /** interface function, see @ref AliHLTComponent for description */
57 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
58 /** interface function, see @ref AliHLTComponent for description */
59 AliHLTComponentDataType GetOutputDataType();
60 /** interface function, see @ref AliHLTComponent for description */
61 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponent* Spawn();
a655eae3 64
6235cd38 65protected:
71d7c760 66
5df0cbb9 67 /**
68 * Set Tracker parameters
69 * Knowledge on that has been lost, so somebody has to insert more
70 * documentation.
71 */
72 void SetTrackerParam(Int_t phiSegments=50,Int_t etaSegments=100,
73 Int_t trackletlength=3,Int_t tracklength=5,
74 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
75 Double_t minPtFit=0,Double_t maxangle=1.31,
76 Double_t goodDist=5,Double_t hitChi2Cut=10,
77 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
78 Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
79 bool vertexconstraint=true);
71d7c760 80
5df0cbb9 81 /**
82 * Set Tracker parameters
83 * Knowledge on that has been lost, so somebody has to insert more
84 * documentation.
85 */
86 void SetTrackerParam( bool doPP, int multiplicity, double bField );
87
88 /**
89 * Set default tracker parameters
90 * Knowledge on that has been lost, so somebody has to insert more
91 * documentation.
92 */
93 void SetTrackerParam1();
94
95 // Protected functions to implement AliHLTComponent's interface.
96 // These functions provide initialization as well as the actual processing
97 // capabilities of the component.
98
99 /** interface function, see @ref AliHLTComponent for description */
100 int DoInit( int argc, const char** argv );
101 /** interface function, see @ref AliHLTComponent for description */
102 int DoDeinit();
103 /** interface function, see @ref AliHLTComponent for description */
104 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
105 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
106 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
107
6235cd38 108private:
71d7c760 109
6235cd38 110 /** instance of the tracker */
111 AliHLTTPCConfMapper* fTracker; //! transient
112 /** vertex object */
113 AliHLTTPCVertex* fVertex; //! transient
114 /** eta range */
115 Float_t fEta[2]; // see above
116 /** switch for subsequent non-vertex tracking */
117 Bool_t fDoNonVertex; // see above
118 /** */
119 Bool_t fDoPP; // see above
120 /** multiplicity estimate */
121 Int_t fMultiplicity; // see above
122 /** magnetic field */
123 Double_t fBField; // see above
71d7c760 124
6235cd38 125 Bool_t fnonvertextracking; // enable NONVERTEX Tracking
126 Bool_t fmainvertextracking; // enable MAINVERTEX Tracking
738c049f 127
ecefc48a 128 /** merger object */
129 AliHLTTPCInterMerger *fpInterMerger; //! transient
130
6235cd38 131 ClassDef(AliHLTTPCSliceTrackerComponent, 0);
71d7c760 132
6235cd38 133};
71d7c760 134#endif