]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterizerComponent.h
HLT TRD code update by Theodor
[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;
dc2e6604 16class AliHLTTRDClusterizer;
0af7cb2e 17class AliRawReaderMemory;
051a0e2d 18class TFile;
519f385f 19class AliTRDrecoParam;
0d66dbf5 20class AliTRDReconstructor;
0af7cb2e 21
22/**
23 * @class AliHLTTRDClusterizerComponent
24 * @brief A TRDClusterizer HLT processing component.
25 *
26 * An implementiation of a TRDClusterizer component that just copies its input data
27 * as a test, demonstration, and example of the HLT component scheme.
28 * @ingroup alihlt_tutorial
29 */
30class AliHLTTRDClusterizerComponent : public AliHLTProcessor
775f67d7 31{
32public:
33 AliHLTTRDClusterizerComponent();
34 virtual ~AliHLTTRDClusterizerComponent();
35
36 // Public functions to implement AliHLTComponent's interface.
37 // These functions are required for the registration process
38
39 const char* GetComponentID();
40 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
41 AliHLTComponent_DataType GetOutputDataType();
42 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
43 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
44 AliHLTComponent* Spawn();
0af7cb2e 45
775f67d7 46protected:
0af7cb2e 47
775f67d7 48 // Protected functions to implement AliHLTComponent's interface.
49 // These functions provide initialization as well as the actual processing
50 // capabilities of the component.
51
52 int DoInit( int argc, const char** argv );
53 int DoDeinit();
54 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
55 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
56 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
57
58 void PrintObject( TClonesArray* inClustersArray);
59 using AliHLTProcessor::DoEvent;
d679dd6c 60
0af7cb2e 61
886e8d3d 62
775f67d7 63private:
64 /** copy constructor prohibited */
65 AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
66 /** assignment operator prohibited */
67 AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
68
69 // The size of the output data produced, as a percentage of the input data's size.
70 // Can be greater than 100 (%)
71
72 unsigned int fOutputPercentage; // Output volume in percentage of the input
73 unsigned int fOutputConst;
74
75 AliHLTTRDClusterizer *fClusterizer; //! Offline derived HLT clusterizer
76 AliTRDrecoParam *fRecoParam; //! Offline reco params
77 AliRawReaderMemory *fMemReader; //! Input raw data reader
78 AliTRDReconstructor *fReconstructor;
0af7cb2e 79
775f67d7 80 ClassDef(AliHLTTRDClusterizerComponent, 1)
0af7cb2e 81
775f67d7 82};
0af7cb2e 83#endif