]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerComponent.h
correcting doxygen warnings
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCATrackerComponent.h
1 //-*- Mode: C++ -*-
2 // @(#) $Id$
3
4 //* This file is property of and copyright by the ALICE HLT Project        * 
5 //* ALICE Experiment at CERN, All rights reserved.                         *
6 //* See cxx source for full Copyright notice                               *
7
8 #ifndef ALIHLTTPCCATRACKERCOMPONENT_H
9 #define ALIHLTTPCCATRACKERCOMPONENT_H
10
11 #include "AliHLTProcessor.h"
12
13 class AliHLTTPCCATracker;
14 class AliHLTTPCSpacePointData;
15
16 /**
17  * @class AliHLTTPCCATrackerComponent
18  * The Cellular Automaton tracker component.
19  */
20 class AliHLTTPCCATrackerComponent : public AliHLTProcessor
21 {
22 public:
23   /** standard constructor */
24   AliHLTTPCCATrackerComponent();
25   
26   /** dummy copy constructor, defined according to effective C++ style */
27   AliHLTTPCCATrackerComponent(const AliHLTTPCCATrackerComponent&);
28   
29   /** dummy assignment op, but defined according to effective C++ style */
30   AliHLTTPCCATrackerComponent& operator=(const AliHLTTPCCATrackerComponent&);
31
32   /** standard destructor */
33   virtual ~AliHLTTPCCATrackerComponent();
34       
35   // Public functions to implement AliHLTComponent's interface.
36   // These functions are required for the registration process
37   
38   /** @see component interface AliHLTComponent::GetComponentID */
39   const char* GetComponentID() ;
40   
41   /** @see component interface AliHLTComponent::GetInputDataTypes */
42   void GetInputDataTypes( vector<AliHLTComponentDataType>& list)  ;
43   
44   /** @see component interface AliHLTComponent::GetOutputDataType */
45   AliHLTComponentDataType GetOutputDataType() ;
46
47   /** @see component interface AliHLTComponent::GetOutputDataSize */
48   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) ;
49
50   /** @see component interface AliHLTComponent::Spawn */
51   AliHLTComponent* Spawn() ;
52
53 protected:
54
55   // Protected functions to implement AliHLTComponent's interface.
56   // These functions provide initialization as well as the actual processing
57   // capabilities of the component. 
58   
59   /** @see component interface AliHLTComponent::DoInit */
60   int DoInit( int argc, const char** argv );
61   
62   /** @see component interface AliHLTComponent::DoDeinit */
63   int DoDeinit();
64   
65   /** @see component interface @ref AliHLTProcessor::DoEvent */
66   int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
67                AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
68                AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
69   
70 private:
71   
72   /** the tracker object */
73   AliHLTTPCCATracker* fTracker;                                //! transient
74   
75   /** magnetic field */
76   Double_t fSolenoidBz;                                            // see above
77   Int_t fMinNTrackClusters; //* required min number of clusters on the track
78   Double_t fCellConnectionAngleXY; //* max phi angle between connected cells (deg)
79   Double_t fCellConnectionAngleXZ; //* max psi angle between connected cells (deg)
80   Double_t fClusterZCut;  //* cut on cluster Z position (for noise rejection at the age of TPC)
81   Double_t fFullTime; //* total time for DoEvent() [s]
82   Double_t fRecoTime; //* total reconstruction time [s]
83   Long_t    fNEvents;  //* number of reconstructed events
84
85   static Bool_t CompareClusters(AliHLTTPCSpacePointData *a, AliHLTTPCSpacePointData *b);
86
87   ClassDef(AliHLTTPCCATrackerComponent, 0);
88   
89 };
90 #endif