]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCGlobalMergerComponent.h
corrected copy and paste typo
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCGlobalMergerComponent.h
CommitLineData
71d7c760 1// XEmacs -*-C++-*-
2// @(#) $Id$
3
4#ifndef ALIHLTTPCGLOBALMERGERCOMPONENT_H
5#define ALIHLTTPCGLOBALMERGERCOMPONENT_H
6/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
7 * See cxx source for full Copyright notice */
8
ecefc48a 9/** @file AliHLTTPCGlobalMergerComponent.h
10 @author Timm Steinbeck, Matthias Richter
11 @date
12 @brief HLT TPC global merger component.
13*/
71d7c760 14
15#include "AliHLTProcessor.h"
71d7c760 16
a6c02c85 17class AliHLTTPCGlobalMerger;
18class AliHLTTPCVertex;
71d7c760 19
96bda103 20/**
21 * @class AliHLTTPCGlobalMergerComponent
22 * The TPC global merger component
23 * The component is the interface to the AliHLTGlobalMerger processing
24 * class.
25 */
71d7c760 26class AliHLTTPCGlobalMergerComponent : public AliHLTProcessor
27 {
28 public:
96bda103 29 /** standard constructor */
30 AliHLTTPCGlobalMergerComponent();
31 /** not a valid copy constructor, defined according to effective C++ style */
32 AliHLTTPCGlobalMergerComponent(const AliHLTTPCGlobalMergerComponent&);
33 /** not a valid assignment op, but defined according to effective C++ style */
34 AliHLTTPCGlobalMergerComponent& operator=(const AliHLTTPCGlobalMergerComponent&);
35 /** standard destructor */
36 virtual ~AliHLTTPCGlobalMergerComponent();
71d7c760 37
38 // Public functions to implement AliHLTComponent's interface.
39 // These functions are required for the registration process
40
96bda103 41 /** @see component interface @ref AliHLTComponent::GetComponentID */
71d7c760 42 const char* GetComponentID();
96bda103 43
44 /** @see component interface @ref AliHLTComponent::GetInputDataTypes */
8ede8717 45 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
96bda103 46
47 /** @see component interface @ref AliHLTComponent::GetOutputDataType */
8ede8717 48 AliHLTComponentDataType GetOutputDataType();
96bda103 49
50 /** @see component interface @ref AliHLTComponent::GetOutputDataSize */
71d7c760 51 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
96bda103 52
53 /** @see component interface @ref AliHLTComponent::Spawn */
71d7c760 54 AliHLTComponent* Spawn();
a655eae3 55
71d7c760 56 protected:
57
96bda103 58 /**
59 * Set the parameters
60 */
71d7c760 61 void SetMergerParameters(Double_t maxy=2.0,Double_t maxz=3.0,Double_t maxkappa=0.003,
62 Double_t maxpsi=0.1,Double_t maxtgl=0.05);
63
64 // Protected functions to implement AliHLTComponent's interface.
65 // These functions provide initialization as well as the actual processing
66 // capabilities of the component.
67
96bda103 68
69 /** @see component interface @ref AliHLTComponent::DoInit */
71d7c760 70 int DoInit( int argc, const char** argv );
96bda103 71
72 /** @see component interface @ref AliHLTComponent::DoDeinit */
71d7c760 73 int DoDeinit();
96bda103 74
75 /** @see component interface @ref AliHLTProcessor::DoEvent */
8ede8717 76 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
77 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
78 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
71d7c760 79
80 private:
81
96bda103 82 /** the global merger object */
3cde846d 83 AliHLTTPCGlobalMerger* fGlobalMerger; //!
96bda103 84 /** the vertexer object */
3cde846d 85 AliHLTTPCVertex* fVertex; //!
71d7c760 86
96bda103 87 struct SliceData {
88 /** slice no */
89 int fSlice; // see above
90 /** block descriptor for the vertex data block */
91 const AliHLTComponentBlockData* fVertexBlock; //! transient
92 /** index of the vertex data block */
93 unsigned fVertexBlockIndex; // see above
94 /** block descriptor for the tracklet data block */
95 const AliHLTComponentBlockData* fTrackletBlock; //! transient
96 /** index of the tracklet data block */
97 unsigned fTrackletBlockIndex; // see above
98 };
71d7c760 99
100 ClassDef(AliHLTTPCGlobalMergerComponent, 0)
101
102 };
103#endif