]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/comp/AliHLTTPCCompModelConverterComponent.h
coding conventions and compilation warnings and work on adaptive TPC data compression...
[u/mrichter/AliRoot.git] / HLT / TPCLib / comp / AliHLTTPCCompModelConverterComponent.h
CommitLineData
ff2f0f94 1// XEmacs -*-C++-*-
7e914051 2// $Id$
ff2f0f94 3
4#ifndef ALIHLTTPCCOMPMODELCONVERTERCOMPONENT_H
5#define ALIHLTTPCCOMPMODELCONVERTERCOMPONENT_H
892210c7 6//* This file is property of and copyright by the ALICE HLT Project *
7//* ALICE Experiment at CERN, All rights reserved. *
8//* See cxx source for full Copyright notice *
ff2f0f94 9
10/** @file AliHLTTPCCompModelConverterComponent.h
11 @author Timm Steinbeck
12 @author changed by J. Wagner
13 @date 17-11-2007
14 @brief Declaration of a copy component. */
15
16
17#include "AliHLTProcessor.h"
18#include "AliHLTTPCCompModelConverter.h"
19#include "AliHLTStdIncludes.h"
20
21/**
22 * @class AliHLTTPCCompModelConverterComponent
23 * @brief A dummy HLT processing component.
24 *
892210c7 25 * An implementiation of a converter component that
26 * takes in clusters and tracks in the standard HLT format
27 * and converts them into the Vestbo-format
28 * such that the Vestbo compression can then be
29 * applied to these tracks and clusters
30 * @ingroup alihlt_tpc
ff2f0f94 31 */
32class AliHLTTPCCompModelConverterComponent : public AliHLTProcessor
33{
34public:
35 /** standard constructor */
36 AliHLTTPCCompModelConverterComponent();
37 /** standard destructor */
38 virtual ~AliHLTTPCCompModelConverterComponent();
39
40 // Public functions to implement AliHLTComponent's interface.
41 // These functions are required for the registration process
42
43 /** function to get component id
44 * @return const char* pointer to componentid
45 */
46 const char* GetComponentID();
47
48 /** function to get input data types
49 * @param list vecotr of AliHLTComponent_DataType
50 */
51 void GetInputDataTypes( vector<AliHLTComponent_DataType>& list);
52
53 /** function to get output data type
54 * @return AliHLTComponent_DataType
55 */
56 AliHLTComponent_DataType GetOutputDataType();
57
58 /** function to get output data size
59 * @param constBase address of an unsigned long
60 * @param inputMultiplier address of a double
61 */
62 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
63
64 /** spawn function
65 * @return AliHLTComponent* pointer to instance
66 */
67 AliHLTComponent* Spawn();
68
69protected:
70
71 // Protected functions to implement AliHLTComponent's interface.
72 // These functions provide initialization as well as the actual processing
73 // capabilities of the component.
74
75 /** initialisation function
76 * @param argc integer counting number of input arguments
77 * @param argv const char** for parameter values
78 * @return zero upon success
79 */
80 int DoInit( int argc, const char** argv );
81
82 /** deinitialisation function
83 * @return zero upon success
84 */
85 int DoDeinit();
86
87 /** do event function
7e914051 88 * @param evtData const AliHLTComponent_EventData& to event data
ff2f0f94 89 * @param blocks const AliHLTComponent_BlockData* to blocks of event data
90 * @param trigData AliHLTComponent_TriggerData& of trigger data
91 * @param outputPtr AliHLTUInt8_t* pointer to output data
92 * @param size AliHLTUInt32_t& of output size
93 * @param outputBlocks vector<AliHLTComponent_BlockData>& of output block data
94 * @return zero upon success
95 */
96 int DoEvent( const AliHLTComponent_EventData& evtData, const AliHLTComponent_BlockData* blocks,
97 AliHLTComponent_TriggerData& trigData, AliHLTUInt8_t* outputPtr,
98 AliHLTUInt32_t& size, vector<AliHLTComponent_BlockData>& outputBlocks );
99
100 /** pointer to model converter instance */
892210c7 101 AliHLTTPCCompModelConverter* fConverter; // pointer to model converter instance
ff2f0f94 102 /** pointer to model analysis instance */
892210c7 103 AliHLTTPCCompModelAnalysis* fModelAnalysisInstance; // pointer to model analysis instance
ff2f0f94 104 /** filename (including path) where to write model analysis results
105 if set by command line argument -dumptofile result-folder/results */
892210c7 106 TString fDumpFileName; // filename (including path)
ff2f0f94 107 /** root file name for graphs from track comparison */
892210c7 108 TString fGraphFileName; // root file name for graphs
ff2f0f94 109
110private:
111 /** copy constructor prohibited */
112 AliHLTTPCCompModelConverterComponent(const AliHLTTPCCompModelConverterComponent&);
113 /** assignment operator prohibited */
114 AliHLTTPCCompModelConverterComponent& operator=(const AliHLTTPCCompModelConverterComponent&);
115
116 /** flags to decide wheter to do track or model loss analysis */
117 /** switch on model analysis */
118 Bool_t fModelAnalysis; // switch on model analysis
119 /** switch on track analysis */
120 Bool_t fTrackAnalysis; // switch on track analysis
121 /** flag to check if first or second array is filled */
122 Bool_t fFillingFirstTrackArray; // 1 if first array is processed, 0 for second filling process
123
124 ClassDef(AliHLTTPCCompModelConverterComponent, 0)
125
126 };
127#endif