Line data Source code
1 : //-*- Mode: C++ -*-
2 : // $Id$
3 : // ************************************************************************
4 : // This file is property of and copyright by the ALICE HLT Project *
5 : // ALICE Experiment at CERN, All rights reserved. *
6 : // See cxx source for full Copyright notice *
7 : // *
8 : //*************************************************************************
9 :
10 :
11 : #ifndef ALIHLTTPCCATRACKEROUTPUTCONVERTER_H
12 : #define ALIHLTTPCCATRACKEROUTPUTCONVERTER_H
13 :
14 : /// @file AliHLTTPCCATrackerOutputConverter.h
15 : /// @author Sergey Gorbunov
16 : /// @date
17 : /// @brief Converter of CA tracker output
18 : ///
19 :
20 : #include "AliHLTProcessor.h"
21 : #include "AliHLTComponentBenchmark.h"
22 :
23 :
24 : /**
25 : * @class AliHLTTPCCATrackerOutputConverter
26 : * Converter of the AliHLTTPCCATracker output
27 : *
28 : */
29 : class AliHLTTPCCATrackerOutputConverter : public AliHLTProcessor
30 : {
31 : public:
32 : /**
33 : * Constructs a AliHLTTPCCATrackerOutputConverter.
34 : */
35 : AliHLTTPCCATrackerOutputConverter();
36 :
37 : /**
38 : * Destructs the AliHLTTPCCATrackerOutputConverter
39 : */
40 18 : virtual ~AliHLTTPCCATrackerOutputConverter() {};
41 :
42 : // Public functions to implement AliHLTComponent's interface.
43 : // These functions are required for the registration process
44 :
45 : /**
46 : * @copydoc AliHLTComponent::GetComponentID
47 : */
48 : const char *GetComponentID();
49 :
50 : /**
51 : * @copydoc AliHLTComponent::GetInputDataTypes
52 : */
53 : void GetInputDataTypes( AliHLTComponentDataTypeList &list );
54 :
55 : /**
56 : * @copydoc AliHLTComponent::GetOutputDataType
57 : */
58 : AliHLTComponentDataType GetOutputDataType();
59 :
60 : /**
61 : * @copydoc AliHLTComponent::GetOutputDataSize
62 : */
63 : virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
64 :
65 : /**
66 : * @copydoc AliHLTComponent::Spawn
67 : */
68 : AliHLTComponent *Spawn();
69 :
70 : protected:
71 :
72 : // Protected functions to implement AliHLTComponent's interface.
73 : // These functions provide initialization as well as the actual processing
74 : // capabilities of the component.
75 :
76 : /**
77 : * @copydoc AliHLTComponent::DoInit
78 : */
79 : int DoInit( int argc, const char **argv );
80 :
81 : /**
82 : * @copydoc AliHLTComponent::DoDeinit
83 : */
84 : int DoDeinit();
85 :
86 : /** reconfigure **/
87 : int Reconfigure( const char* cdbEntry, const char* chainId );
88 :
89 : /**
90 : * @copydoc @ref AliHLTProcessor::DoEvent
91 : */
92 : int DoEvent( const AliHLTComponentEventData &evtData, const AliHLTComponentBlockData *blocks,
93 : AliHLTComponentTriggerData &trigData, AliHLTUInt8_t *outputPtr,
94 : AliHLTUInt32_t &size, AliHLTComponentBlockDataList &outputBlocks );
95 :
96 : using AliHLTProcessor::DoEvent;
97 :
98 : private:
99 :
100 : static AliHLTTPCCATrackerOutputConverter fgAliHLTTPCCATrackerOutputConverter;
101 :
102 : // disable copy
103 : AliHLTTPCCATrackerOutputConverter( const AliHLTTPCCATrackerOutputConverter & );
104 : AliHLTTPCCATrackerOutputConverter &operator=( const AliHLTTPCCATrackerOutputConverter & );
105 :
106 : /** set configuration parameters **/
107 : void SetDefaultConfiguration();
108 : int ReadConfigurationString( const char* arguments );
109 : int ReadCDBEntry( const char* cdbEntry, const char* chainId );
110 : int Configure( const char* cdbEntry, const char* chainId, const char *commandLine );
111 :
112 : AliHLTComponentBenchmark fBenchmark;// benchmark
113 :
114 6 : ClassDef( AliHLTTPCCATrackerOutputConverter, 0 )
115 : };
116 :
117 : #endif //ALIHLTTPCCAGLOBALMERGERCOMPONENT_H
|