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 *
8 #ifndef ALIHLTTPCCATRACKERCOMPONENT_H
9 #define ALIHLTTPCCATRACKERCOMPONENT_H
11 #include "AliHLTProcessor.h"
13 class AliHLTTPCCATracker;
16 * @class AliHLTTPCCATrackerComponent
17 * The Cellular Automaton tracker component.
19 class AliHLTTPCCATrackerComponent : public AliHLTProcessor
22 /** standard constructor */
23 AliHLTTPCCATrackerComponent();
25 /** dummy copy constructor, defined according to effective C++ style */
26 AliHLTTPCCATrackerComponent(const AliHLTTPCCATrackerComponent&);
28 /** dummy assignment op, but defined according to effective C++ style */
29 AliHLTTPCCATrackerComponent& operator=(const AliHLTTPCCATrackerComponent&);
31 /** standard destructor */
32 virtual ~AliHLTTPCCATrackerComponent();
34 // Public functions to implement AliHLTComponent's interface.
35 // These functions are required for the registration process
37 /** @see component interface @ref AliHLTComponent::GetComponentID */
38 const char* GetComponentID() ;
40 /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
41 void GetInputDataTypes( vector<AliHLTComponentDataType>& list) ;
43 /** @see component interface @ref AliHLTComponent::GetOutputDataType */
44 AliHLTComponentDataType GetOutputDataType() ;
46 /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
47 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) ;
49 /** @see component interface @ref AliHLTComponent::Spawn */
50 AliHLTComponent* Spawn() ;
54 // Protected functions to implement AliHLTComponent's interface.
55 // These functions provide initialization as well as the actual processing
56 // capabilities of the component.
58 /** @see component interface @ref AliHLTComponent::DoInit */
59 int DoInit( int argc, const char** argv );
61 /** @see component interface @ref AliHLTComponent::DoDeinit */
64 /** @see component interface @ref AliHLTProcessor::DoEvent */
65 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
66 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
67 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
71 /** the tracker object */
72 AliHLTTPCCATracker* fTracker; //! transient
75 Double_t fBField; // see above
77 ClassDef(AliHLTTPCCATrackerComponent, 0);