]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCCATrackerComponent.h
documentation; deprecated defines deleted
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCCATrackerComponent.h
1 // XEmacs -*-C++-*-
2
3 #ifndef ALIHLTTPCCATRACKERCOMPONENT_H
4 #define ALIHLTTPCCATRACKERCOMPONENT_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /* AliHLTTPCCATrackerComponent
9  */
10
11 #include "AliHLTProcessor.h"
12
13 class AliHLTTPCCATracker;
14 class AliHLTTPCVertex;
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       /** not a valid copy constructor, defined according to effective C++ style */
26       AliHLTTPCCATrackerComponent(const AliHLTTPCCATrackerComponent&);
27       /** not a valid assignment op, but defined according to effective C++ style */
28       AliHLTTPCCATrackerComponent& operator=(const AliHLTTPCCATrackerComponent&);
29       /** standard destructor */
30       virtual ~AliHLTTPCCATrackerComponent();
31       
32       // Public functions to implement AliHLTComponent's interface.
33       // These functions are required for the registration process
34       
35       /** @see component interface @ref AliHLTComponent::GetComponentID */
36       const char* GetComponentID();
37       
38       /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
39       void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
40
41       /** @see component interface @ref AliHLTComponent::GetOutputDataType */
42       AliHLTComponentDataType GetOutputDataType();
43
44       /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
45       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
46
47       /** @see component interface @ref AliHLTComponent::Spawn */
48       AliHLTComponent* Spawn();
49
50     protected:
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       /** @see component interface @ref AliHLTComponent::DoInit */
57         int DoInit( int argc, const char** argv );
58
59       /** @see component interface @ref AliHLTComponent::DoDeinit */
60         int DoDeinit();
61
62       /** @see component interface @ref AliHLTProcessor::DoEvent */
63         int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
64                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
65                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
66         
67     private:
68
69       /** the tracker object */
70       AliHLTTPCCATracker* fTracker;                                //! transient
71       /** the virtexer object */
72       AliHLTTPCVertex* fVertex;                                    //! transient
73
74       /** magnetic field */
75       Double_t fBField;                                            // see above
76
77         ClassDef(AliHLTTPCCATrackerComponent, 0)
78
79     };
80 #endif