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