]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TRD/AliHLTTRDClusterizerComponent.h
revision 27797 related changes in HLT TRD (Changes in TRD reco param by Alex)
[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;
051a0e2d 16class AliTRDclusterizerHLT;
0af7cb2e 17class AliRawReaderMemory;
051a0e2d 18class TFile;
19class TGeoManager;
519f385f 20class AliTRDrecoParam;
0d66dbf5 21class AliTRDReconstructor;
0af7cb2e 22
23/**
24 * @class AliHLTTRDClusterizerComponent
25 * @brief A TRDClusterizer HLT processing component.
26 *
27 * An implementiation of a TRDClusterizer component that just copies its input data
28 * as a test, demonstration, and example of the HLT component scheme.
29 * @ingroup alihlt_tutorial
30 */
31class AliHLTTRDClusterizerComponent : public AliHLTProcessor
32 {
33 public:
34 AliHLTTRDClusterizerComponent();
35 virtual ~AliHLTTRDClusterizerComponent();
36
37 // Public functions to implement AliHLTComponent's interface.
38 // These functions are required for the registration process
39
40 const char* GetComponentID();
41 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
42 AliHLTComponent_DataType GetOutputDataType();
43 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
44 AliHLTComponent* Spawn();
45
46 protected:
47
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 );
d76bc02a 57
58 using AliHLTProcessor::DoEvent;
0af7cb2e 59
60 private:
c7500dae 61 /** copy constructor prohibited */
62 AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
63 /** assignment operator prohibited */
64 AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
0af7cb2e 65
66 // The size of the output data produced, as a percentage of the input data's size.
67 // Can be greater than 100 (%)
0af7cb2e 68
3b021c25 69 unsigned fOutputPercentage; // Output volume in percentage of the input
0af7cb2e 70
3b021c25 71 string fStrorageDBpath; // Default path for OCDB
72
0d66dbf5 73 AliTRDReconstructor *fReconstructor; //!
051a0e2d 74 AliTRDclusterizerHLT *fClusterizer; //! Offline derived HLT clusterizer
519f385f 75 AliTRDrecoParam *fRecoParam; //! Offline reco params
3b021c25 76 AliCDBManager *fCDB; //! Pointer to OCDB
77 AliRawReaderMemory *fMemReader; //! Input raw data reader
051a0e2d 78
79 string fGeometryFileName; // Path to geometry file
80 TFile *fGeometryFile; //! // Pointer to the geom root file
81 TGeoManager *fGeoManager; //! Pointer to geometry manager
0af7cb2e 82
83 ClassDef(AliHLTTRDClusterizerComponent, 0)
84
85 };
86#endif