]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterizerComponent.h
fixing HLT OpenCL Tracker build
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponent.h
CommitLineData
4de61263 1//-*- Mode: C++ -*-
0af7cb2e 2// $Id$
3
4#ifndef ALIHLTTRDCLUSTERIZERCOMPONENT_H
5#define ALIHLTTRDCLUSTERIZERCOMPONENT_H
4de61263 6//* This file is property of and copyright by the ALICE HLT Project *
7//* ALICE Experiment at CERN, All rights reserved. *
8//* See cxx source for full Copyright notice *
0af7cb2e 9
10/** @file AliHLTTRDClusterizerComponent.h
c05c94dc 11 @author Theodor Rascanu
0af7cb2e 12 @date
4de61263 13 @brief Declaration of a TRDClusterizer component.
14*/
0af7cb2e 15
16
17#include "AliHLTProcessor.h"
18class AliCDBManager;
dc2e6604 19class AliHLTTRDClusterizer;
0af7cb2e 20class AliRawReaderMemory;
051a0e2d 21class TFile;
519f385f 22class AliTRDrecoParam;
0d66dbf5 23class AliTRDReconstructor;
0af7cb2e 24
25/**
26 * @class AliHLTTRDClusterizerComponent
27 * @brief A TRDClusterizer HLT processing component.
28 *
29 * An implementiation of a TRDClusterizer component that just copies its input data
30 * as a test, demonstration, and example of the HLT component scheme.
31 * @ingroup alihlt_tutorial
32 */
33class AliHLTTRDClusterizerComponent : public AliHLTProcessor
775f67d7 34{
35public:
36 AliHLTTRDClusterizerComponent();
37 virtual ~AliHLTTRDClusterizerComponent();
38
39 // Public functions to implement AliHLTComponent's interface.
40 // These functions are required for the registration process
41
42 const char* GetComponentID();
93ce7d1b 43 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
44 AliHLTComponentDataType GetOutputDataType();
775f67d7 45 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
46 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
47 AliHLTComponent* Spawn();
99f4c254 48 void GetOCDBObjectDescription(TMap* const targetMap);
0af7cb2e 49
775f67d7 50protected:
0af7cb2e 51
775f67d7 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
56 int DoInit( int argc, const char** argv );
57 int DoDeinit();
58 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
59 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
60 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
b32b76cb 61 int Reconfigure(const char* cdbEntry, const char* chainId);
775f67d7 62 void PrintObject( TClonesArray* inClustersArray);
b32b76cb 63
775f67d7 64 using AliHLTProcessor::DoEvent;
0af7cb2e 65
b32b76cb 66 int Configure(const char* arguments);
d6eceb66 67 virtual int SetParams();
886e8d3d 68
2359a6ef 69protected:
775f67d7 70 /** copy constructor prohibited */
71 AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
72 /** assignment operator prohibited */
73 AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
74
75 // The size of the output data produced, as a percentage of the input data's size.
76 // Can be greater than 100 (%)
77
78 unsigned int fOutputPercentage; // Output volume in percentage of the input
79 unsigned int fOutputConst;
80
81 AliHLTTRDClusterizer *fClusterizer; //! Offline derived HLT clusterizer
82 AliTRDrecoParam *fRecoParam; //! Offline reco params
83 AliRawReaderMemory *fMemReader; //! Input raw data reader
84 AliTRDReconstructor *fReconstructor;
b32b76cb 85
e47650f5 86 Int_t fRecoParamType; // default will be the low flux
87 Int_t fRecoDataType; // default will be simulation
88 Int_t fRawDataVersion; // depreceated ?
89 Int_t fyPosMethod; // 0=COG 1=LUT 2=Gauss
b32b76cb 90 TString fgeometryFileName;
e47650f5 91 Bool_t fProcessTracklets; // write the L1 tracklets to output
92 Bool_t fHLTstreamer; // use FastStreamer
93 Bool_t fTC; // using tail cancellation
94 Bool_t fHLTflag; // use HLT flag in reconstructor
95 Bool_t fHighLevelOutput; // do we what to have high level output (only for debuging)
96 Bool_t fEmulateHLTClusters; // for debugging data containers
b32b76cb 97
2359a6ef 98 ClassDef(AliHLTTRDClusterizerComponent, 5)
0af7cb2e 99
775f67d7 100};
0af7cb2e 101#endif