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