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