]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCSliceTrackerComponent.h
- use_newio switch removed from libAliHLTTPC, always on; not removed in
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCSliceTrackerComponent.h
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
15 class AliHLTTPCConfMapper;
16 class AliHLTTPCVertex;
17
18 class AliHLTTPCSliceTrackerComponent : public AliHLTProcessor
19     {
20     public:
21         AliHLTTPCSliceTrackerComponent();
22         virtual ~AliHLTTPCSliceTrackerComponent();
23
24         // Public functions to implement AliHLTComponent's interface.
25         // These functions are required for the registration process
26
27         const char* GetComponentID();
28         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
29         AliHLTComponent_DataType GetOutputDataType();
30         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
31         AliHLTComponent* Spawn();
32         
33     protected:
34         
35         void SetTrackerParam(Int_t phi_segments=50,Int_t eta_segments=100,
36                              Int_t trackletlength=3,Int_t tracklength=5,
37                              Int_t rowscopetracklet=2,Int_t rowscopetrack=3,
38                              Double_t min_pt_fit=0,Double_t maxangle=1.31,
39                              Double_t goodDist=5,Double_t hitChi2Cut=10,
40                              Double_t goodHitChi2=20,Double_t trackChi2Cut=50,
41                              Int_t maxdist=50,Double_t maxphi=0.1,Double_t maxeta=0.1,
42                              bool vertexconstraint=true);
43         void SetTrackerParam( bool doPP, int multiplicity, double bField );
44         void SetTrackerParam1()
45                 {
46                 SetTrackerParam( 10, 20, 5, 10, 2,2,
47                                  0, 1.31, 5, 100,
48                                  50, 100, 50, 0.1, 0.1,
49                                  true );
50                 }
51
52         // Protected functions to implement AliHLTComponent's interface.
53         // These functions provide initialization as well as the actual processing
54         // capabilities of the component. 
55
56         int DoInit( int argc, const char** argv );
57         int DoDeinit();
58         int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
59                      AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
60                      AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
61         
62     private:
63
64         AliHLTTPCConfMapper* fTracker;
65         AliHLTTPCVertex* fVertex;
66         Float_t fEta[2];
67         Bool_t fDoNonVertex;
68         Bool_t  fDoPP;
69         Int_t fMultiplicity;
70         Double_t fBField;
71
72 // BEGINN ############################################## MODIFIY JMT
73         Bool_t fnonvertextracking;   // enable NONVERTEX Tracking
74         Bool_t fmainvertextracking;  // enable MAINVERTEX Tracking
75 // END ################################################# MODIFIY JMT
76
77         ClassDef(AliHLTTPCSliceTrackerComponent, 0)
78
79     };
80 #endif