]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDClusterizerComponent.h
clean-up and removal of TPC legacy code
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponent.h
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"
15 class AliCDBManager;
16 class AliTRDclusterizerHLT;
17 class AliRawReaderMemory;
18 class TFile;
19 class TGeoManager;
20
21 /**
22  * @class AliHLTTRDClusterizerComponent
23  * @brief A TRDClusterizer HLT processing component. 
24  *
25  * An implementiation of a TRDClusterizer component that just copies its input data
26  * as a test, demonstration, and example of the HLT component scheme.
27  * @ingroup alihlt_tutorial
28  */
29 class AliHLTTRDClusterizerComponent : public AliHLTProcessor
30     {
31     public:
32         AliHLTTRDClusterizerComponent();
33         virtual ~AliHLTTRDClusterizerComponent();
34
35         // Public functions to implement AliHLTComponent's interface.
36         // These functions are required for the registration process
37
38         const char* GetComponentID();
39         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
40         AliHLTComponent_DataType GetOutputDataType();
41         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
42         AliHLTComponent* Spawn();
43         
44     protected:
45         
46         // Protected functions to implement AliHLTComponent's interface.
47         // These functions provide initialization as well as the actual processing
48         // capabilities of the component. 
49
50         int DoInit( int argc, const char** argv );
51         int DoDeinit();
52         int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
53                      AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
54                      AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
55         
56     private:
57
58         // The size of the output data produced, as a percentage of the input data's size.
59         // Can be greater than 100 (%)
60
61         unsigned fOutputPercentage; // Output volume in percentage of the input
62
63         string fStrorageDBpath; // Default path for OCDB
64
65         AliTRDclusterizerHLT *fClusterizer; //! Offline derived HLT clusterizer
66         AliCDBManager *fCDB; //! Pointer to OCDB
67         AliRawReaderMemory *fMemReader; //! Input raw data reader
68
69         string fGeometryFileName; // Path to geometry file 
70         TFile *fGeometryFile; //! // Pointer to the geom root file
71         TGeoManager *fGeoManager; //! Pointer to geometry manager 
72         
73         ClassDef(AliHLTTRDClusterizerComponent, 0)
74
75     };
76 #endif