]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/tracking-ca/AliHLTTPCCATrackerOutputConverter.h
configuration 'TPC-compression-emulation' added, to be activated in separate commit
[u/mrichter/AliRoot.git] / HLT / TPCLib / tracking-ca / AliHLTTPCCATrackerOutputConverter.h
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     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     ClassDef( AliHLTTPCCATrackerOutputConverter, 0 )
115 };
116
117 #endif //ALIHLTTPCCAGLOBALMERGERCOMPONENT_H