]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterizerComponent.h
Fix in GetHitPattern(): copy track param first in a new object
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponent.h
CommitLineData
0af7cb2e 1// $Id$
2
3#ifndef ALIHLTTRDCLUSTERIZERCOMPONENT_H
4#define ALIHLTTRDCLUSTERIZERCOMPONENT_H
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8/** @file AliHLTTRDClusterizerComponent.h
9 @author Timm Steinbeck, Matthias Richter
10 @date
11 @brief Declaration of a TRDClusterizer component. */
12
13
14#include "AliHLTProcessor.h"
15class AliCDBManager;
16class AliTRDclusterizerV1HLT;
17class AliRawReaderMemory;
18
19/**
20 * @class AliHLTTRDClusterizerComponent
21 * @brief A TRDClusterizer HLT processing component.
22 *
23 * An implementiation of a TRDClusterizer component that just copies its input data
24 * as a test, demonstration, and example of the HLT component scheme.
25 * @ingroup alihlt_tutorial
26 */
27class AliHLTTRDClusterizerComponent : public AliHLTProcessor
28 {
29 public:
30 AliHLTTRDClusterizerComponent();
31 virtual ~AliHLTTRDClusterizerComponent();
32
33 // Public functions to implement AliHLTComponent's interface.
34 // These functions are required for the registration process
35
36 const char* GetComponentID();
37 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
38 AliHLTComponent_DataType GetOutputDataType();
39 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
40 AliHLTComponent* Spawn();
41
42 protected:
43
44 // Protected functions to implement AliHLTComponent's interface.
45 // These functions provide initialization as well as the actual processing
46 // capabilities of the component.
47
48 int DoInit( int argc, const char** argv );
49 int DoDeinit();
50 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
51 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
52 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
53
54 private:
55
56 // The size of the output data produced, as a percentage of the input data's size.
57 // Can be greater than 100 (%)
58 unsigned fOutputPercentage;
59
60 string fStrorageDBpath;
61
62 AliTRDclusterizerV1HLT *clusterizer; //!
63 AliCDBManager *cdb; //!
64 AliRawReaderMemory *rmem; //!
65
66 ClassDef(AliHLTTRDClusterizerComponent, 0)
67
68 };
69#endif