]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCSliceTrackerComponent.h
coding conventions, eff C++, formatting, AliHLTConsumerDescriptor moved from AliHLTDa...
[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   /** 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&);
27   /** destructor */
28   virtual ~AliHLTTPCSliceTrackerComponent();
29
30         // Public functions to implement AliHLTComponent's interface.
31         // These functions are required for the registration process
32
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();
38
39 protected:
40         
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()
51                 {
52                 SetTrackerParam( 10, 20, 5, 10, 2,2,
53                                  0, 1.31, 5, 100,
54                                  50, 100, 50, 0.1, 0.1,
55                                  true );
56                 }
57
58         // Protected functions to implement AliHLTComponent's interface.
59         // These functions provide initialization as well as the actual processing
60         // capabilities of the component. 
61
62         int DoInit( int argc, const char** argv );
63         int DoDeinit();
64         int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
65                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
66                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
67         
68 private:
69
70   /** instance of the tracker */
71   AliHLTTPCConfMapper* fTracker;                                   //! transient
72   /** vertex object */
73   AliHLTTPCVertex* fVertex;                                        //! transient
74   /** eta range */
75   Float_t fEta[2];                                                 //  see above
76   /** switch for subsequent non-vertex tracking */
77   Bool_t fDoNonVertex;                                             //  see above
78   /** */
79   Bool_t  fDoPP;                                                   //  see above
80   /** multiplicity estimate */
81   Int_t fMultiplicity;                                             //  see above
82   /** magnetic field */
83   Double_t fBField;                                                //  see above
84
85 // BEGINN ############################################## MODIFIY JMT
86   Bool_t fnonvertextracking;   // enable NONVERTEX Tracking
87   Bool_t fmainvertextracking;  // enable MAINVERTEX Tracking
88 // END ################################################# MODIFIY JMT
89
90   ClassDef(AliHLTTPCSliceTrackerComponent, 0);
91
92 };
93 #endif