]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerComponent.h
Fit mathematics improved, obsollete GBTracker cleaned up
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCATrackerComponent.h
CommitLineData
cf471b1e 1//-*- Mode: C++ -*-
2// @(#) $Id$
ce565086 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//*************************************************************************
cf471b1e 9
10#ifndef ALIHLTTPCCATRACKERCOMPONENT_H
11#define ALIHLTTPCCATRACKERCOMPONENT_H
12
13#include "AliHLTProcessor.h"
14
15class AliHLTTPCCATracker;
eb30eb49 16class AliHLTTPCSpacePointData;
cf471b1e 17
18/**
19 * @class AliHLTTPCCATrackerComponent
20 * The Cellular Automaton tracker component.
21 */
22class AliHLTTPCCATrackerComponent : public AliHLTProcessor
4c256004 23{
24public:
25 /** standard constructor */
26 AliHLTTPCCATrackerComponent();
27
28 /** dummy copy constructor, defined according to effective C++ style */
29 AliHLTTPCCATrackerComponent(const AliHLTTPCCATrackerComponent&);
30
31 /** dummy assignment op, but defined according to effective C++ style */
32 AliHLTTPCCATrackerComponent& operator=(const AliHLTTPCCATrackerComponent&);
33
34 /** standard destructor */
35 virtual ~AliHLTTPCCATrackerComponent();
cf471b1e 36
4c256004 37 // Public functions to implement AliHLTComponent's interface.
38 // These functions are required for the registration process
39
00d07bcd 40 /** @see component interface @ref AliHLTComponent::GetComponentID */
4c256004 41 const char* GetComponentID() ;
42
00d07bcd 43 /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
4c256004 44 void GetInputDataTypes( vector<AliHLTComponentDataType>& list) ;
45
00d07bcd 46 /** @see component interface @ref AliHLTComponent::GetOutputDataType */
4c256004 47 AliHLTComponentDataType GetOutputDataType() ;
48
00d07bcd 49 /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
4c256004 50 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ) ;
51
00d07bcd 52 /** @see component interface @ref AliHLTComponent::Spawn */
4c256004 53 AliHLTComponent* Spawn() ;
54
55protected:
56
57 // Protected functions to implement AliHLTComponent's interface.
58 // These functions provide initialization as well as the actual processing
59 // capabilities of the component.
60
00d07bcd 61 /** @see component interface @ref AliHLTComponent::DoInit */
4687b8fc 62 Int_t DoInit( Int_t argc, const char** argv );
4c256004 63
00d07bcd 64 /** @see component interface @ref AliHLTComponent::DoDeinit */
4687b8fc 65 Int_t DoDeinit();
53a9c37c 66
67 /** reconfigure **/
68 Int_t Reconfigure(const char* cdbEntry, const char* chainId);
69
4c256004 70 /** @see component interface @ref AliHLTProcessor::DoEvent */
4687b8fc 71 Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
4c256004 72 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
73 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
74
75private:
76
77 /** the tracker object */
78 AliHLTTPCCATracker* fTracker; //! transient
79
80 /** magnetic field */
eb30eb49 81 Double_t fSolenoidBz; // see above
d54804bf 82 Int_t fMinNTrackClusters; //* required min number of clusters on the track
eb30eb49 83 Double_t fClusterZCut; //* cut on cluster Z position (for noise rejection at the age of TPC)
84 Double_t fFullTime; //* total time for DoEvent() [s]
85 Double_t fRecoTime; //* total reconstruction time [s]
86 Long_t fNEvents; //* number of reconstructed events
e1f2d1c3 87 Bool_t fNewOutputType; //* use new type of output (temporary flag)
d54804bf 88
eb30eb49 89 static Bool_t CompareClusters(AliHLTTPCSpacePointData *a, AliHLTTPCSpacePointData *b);
d54804bf 90
53a9c37c 91 /** set configuration parameters **/
92 Int_t Configure( const char* arguments );
93
4c256004 94 ClassDef(AliHLTTPCCATrackerComponent, 0);
95
96};
cf471b1e 97#endif