]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TRD/AliHLTTRDClusterizerComponentV2.h
Temporary hack to prevent error messages during pathological cases with particular...
[u/mrichter/AliRoot.git] / HLT / TRD / AliHLTTRDClusterizerComponentV2.h
1 // $Id$
2
3 #ifndef ALIHLTTRDCLUSTERIZERCOMPONENTV2_H
4 #define ALIHLTTRDCLUSTERIZERCOMPONENTV2_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /** @file   AliHLTTRDClusterizerComponentV2.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 AliTRDclusterizerV2HLT;
17 class AliRawReaderMemory;
18
19 /**
20  * @class AliHLTTRDClusterizerComponentV2
21  * @brief A TRDClusterizer HLT processing component. 
22  *
23  * An implementiation of a TRDClusterizer component that just copies its input data
24  * as a test, demonstration, and example of the HLT component scheme.
25  * @ingroup alihlt_tutorial
26  */
27 class AliHLTTRDClusterizerComponentV2 : public AliHLTProcessor
28     {
29     public:
30         AliHLTTRDClusterizerComponentV2();
31         virtual ~AliHLTTRDClusterizerComponentV2();
32
33         // Public functions to implement AliHLTComponent's interface.
34         // These functions are required for the registration process
35
36         const char* GetComponentID();
37         void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
38         AliHLTComponent_DataType GetOutputDataType();
39         virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
40         AliHLTComponent* Spawn();
41         
42     protected:
43         
44         // Protected functions to implement AliHLTComponent's interface.
45         // These functions provide initialization as well as the actual processing
46         // capabilities of the component. 
47
48         int DoInit( int argc, const char** argv );
49         int DoDeinit();
50         int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks, 
51                      AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr, 
52                      AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
53         
54     private:
55
56         // The size of the output data produced, as a percentage of the input data's size.
57         // Can be greater than 100 (%)
58
59         unsigned fOutputPercentage; // Output volume in percentage of the input
60
61         string fStrorageDBpath; // Default path for OCDB
62
63         AliTRDclusterizerV2HLT *fClusterizer; //! Offline derived HLT clusterizer
64         AliCDBManager *fCDB; //! Pointer to OCDB
65         AliRawReaderMemory *fMemReader; //! Input raw data reader
66         
67         ClassDef(AliHLTTRDClusterizerComponentV2, 0)
68
69     };
70 #endif