]> git.uio.no Git - u/mrichter/AliRoot.git/blob - 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
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 class AliTRDrecoParam;
21 class AliTRDReconstructor;
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  */
31 class 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 );
57
58         using AliHLTProcessor::DoEvent;
59         
60     private:
61         /** copy constructor prohibited */
62         AliHLTTRDClusterizerComponent(const AliHLTTRDClusterizerComponent&);
63         /** assignment operator prohibited */
64         AliHLTTRDClusterizerComponent& operator=(const AliHLTTRDClusterizerComponent&);
65
66         // The size of the output data produced, as a percentage of the input data's size.
67         // Can be greater than 100 (%)
68
69         unsigned fOutputPercentage; // Output volume in percentage of the input
70
71         string fStrorageDBpath; // Default path for OCDB
72
73         AliTRDReconstructor  *fReconstructor; //!
74         AliTRDclusterizerHLT *fClusterizer; //! Offline derived HLT clusterizer
75         AliTRDrecoParam *fRecoParam; //! Offline reco params
76         AliCDBManager *fCDB; //! Pointer to OCDB
77         AliRawReaderMemory *fMemReader; //! Input raw data reader
78
79         string fGeometryFileName; // Path to geometry file 
80         TFile *fGeometryFile; //! // Pointer to the geom root file
81         TGeoManager *fGeoManager; //! Pointer to geometry manager 
82         
83         ClassDef(AliHLTTRDClusterizerComponent, 0)
84
85     };
86 #endif