]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCCATrackerComponent.h
- support for event by event reconstruction added to AliHLTSystem
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCCATrackerComponent.h
CommitLineData
21b6a334 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"
21b6a334 12
13class AliHLTTPCCATracker;
14class AliHLTTPCVertex;
15
96bda103 16/**
17 * @class AliHLTTPCCATrackerComponent
18 * The Cellular Automaton tracker component.
19 */
21b6a334 20class AliHLTTPCCATrackerComponent : public AliHLTProcessor
21 {
22 public:
96bda103 23 /** standard constructor */
21b6a334 24 AliHLTTPCCATrackerComponent();
96bda103 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 */
21b6a334 30 virtual ~AliHLTTPCCATrackerComponent();
31
32 // Public functions to implement AliHLTComponent's interface.
33 // These functions are required for the registration process
34
96bda103 35 /** @see component interface @ref AliHLTComponent::GetComponentID */
21b6a334 36 const char* GetComponentID();
96bda103 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 */
21b6a334 45 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
96bda103 46
47 /** @see component interface @ref AliHLTComponent::Spawn */
21b6a334 48 AliHLTComponent* Spawn();
96bda103 49
21b6a334 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
96bda103 56 /** @see component interface @ref AliHLTComponent::DoInit */
21b6a334 57 int DoInit( int argc, const char** argv );
96bda103 58
59 /** @see component interface @ref AliHLTComponent::DoDeinit */
21b6a334 60 int DoDeinit();
96bda103 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 );
21b6a334 66
67 private:
68
96bda103 69 /** the tracker object */
70 AliHLTTPCCATracker* fTracker; //! transient
71 /** the virtexer object */
72 AliHLTTPCVertex* fVertex; //! transient
21b6a334 73
96bda103 74 /** magnetic field */
75 Double_t fBField; // see above
21b6a334 76
77 ClassDef(AliHLTTPCCATrackerComponent, 0)
78
79 };
80#endif