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 */
8 /* AliHLTTPCCATrackerComponent
11 #include "AliHLTProcessor.h"
13 class AliHLTTPCCATracker;
14 class AliHLTTPCVertex;
17 * @class AliHLTTPCCATrackerComponent
18 * The Cellular Automaton tracker component.
20 class AliHLTTPCCATrackerComponent : public AliHLTProcessor
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();
32 // Public functions to implement AliHLTComponent's interface.
33 // These functions are required for the registration process
35 /** @see component interface @ref AliHLTComponent::GetComponentID */
36 const char* GetComponentID();
38 /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
39 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
41 /** @see component interface @ref AliHLTComponent::GetOutputDataType */
42 AliHLTComponentDataType GetOutputDataType();
44 /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
45 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
47 /** @see component interface @ref AliHLTComponent::Spawn */
48 AliHLTComponent* Spawn();
52 // Protected functions to implement AliHLTComponent's interface.
53 // These functions provide initialization as well as the actual processing
54 // capabilities of the component.
56 /** @see component interface @ref AliHLTComponent::DoInit */
57 int DoInit( int argc, const char** argv );
59 /** @see component interface @ref AliHLTComponent::DoDeinit */
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 );
69 /** the tracker object */
70 AliHLTTPCCATracker* fTracker; //! transient
71 /** the virtexer object */
72 AliHLTTPCVertex* fVertex; //! transient
75 Double_t fBField; // see above
77 ClassDef(AliHLTTPCCATrackerComponent, 0)