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 */
9 /* AliHLTTPCSliceTrackerComponent
12 #include "AliHLTProcessor.h"
13 #include "AliHLTTPCDefinitions.h"
15 class AliHLTTPCConfMapper;
16 class AliHLTTPCVertex;
18 class AliHLTTPCSliceTrackerComponent : public AliHLTProcessor
21 /** default constructor */
22 AliHLTTPCSliceTrackerComponent();
23 /** not a valid copy constructor, defined according to effective C++ style */
24 AliHLTTPCSliceTrackerComponent(const AliHLTTPCSliceTrackerComponent&);
25 /** not a valid assignment op, but defined according to effective C++ style */
26 AliHLTTPCSliceTrackerComponent& operator=(const AliHLTTPCSliceTrackerComponent&);
28 virtual ~AliHLTTPCSliceTrackerComponent();
30 // Public functions to implement AliHLTComponent's interface.
31 // These functions are required for the registration process
33 const char* GetComponentID();
34 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
35 AliHLTComponentDataType GetOutputDataType();
36 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
37 AliHLTComponent* Spawn();
41 void SetTrackerParam(Int_t phiSegments=50,Int_t etaSegments=100,
42 Int_t trackletlength=3,Int_t tracklength=5,
43 Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
44 Double_t minPtFit=0,Double_t maxangle=1.31,
45 Double_t goodDist=5,Double_t hitChi2Cut=10,
46 Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
47 Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
48 bool vertexconstraint=true);
49 void SetTrackerParam( bool doPP, int multiplicity, double bField );
50 void SetTrackerParam1()
52 SetTrackerParam( 10, 20, 5, 10, 2,2,
54 50, 100, 50, 0.1, 0.1,
58 // Protected functions to implement AliHLTComponent's interface.
59 // These functions provide initialization as well as the actual processing
60 // capabilities of the component.
62 int DoInit( int argc, const char** argv );
64 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
65 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
66 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
70 /** instance of the tracker */
71 AliHLTTPCConfMapper* fTracker; //! transient
73 AliHLTTPCVertex* fVertex; //! transient
75 Float_t fEta[2]; // see above
76 /** switch for subsequent non-vertex tracking */
77 Bool_t fDoNonVertex; // see above
79 Bool_t fDoPP; // see above
80 /** multiplicity estimate */
81 Int_t fMultiplicity; // see above
83 Double_t fBField; // see above
85 // BEGINN ############################################## MODIFIY JMT
86 Bool_t fnonvertextracking; // enable NONVERTEX Tracking
87 Bool_t fmainvertextracking; // enable MAINVERTEX Tracking
88 // END ################################################# MODIFIY JMT
90 ClassDef(AliHLTTPCSliceTrackerComponent, 0);