]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCClusterTransformationComponent.h
Improving file handling at digitization time (item related to https://alice.its.cern...
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterTransformationComponent.h
CommitLineData
ca761b13 1// -*- Mode: C++ -*-
2
3#ifndef ALIHLTTPCCLUSTERTRANSFORMATIONCOMPONENT_H
4#define ALIHLTTPCCLUSTERTRANSFORMATIONCOMPONENT_H
5
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 *
9
10/** @file AliHLTTPCClusterTransformationComponent.h
11 @author Sergey Gorbunov
12 @date
13 @brief
14*/
15
16// see below for class documentation
17// or
18// refer to README to build package
19// or
20// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22#include "AliHLTProcessor.h"
23#include "AliHLTComponentBenchmark.h"
24
25class AliHLTTPCClusterTransformation;
26
27
28/**
29 * @class AliHLTTPCClusterTransformationComponent
30 * @ingroup alihlt_tpc_components
31 */
32
33class AliHLTTPCClusterTransformationComponent : public AliHLTProcessor {
34
35public:
36
37 /** standard constructor */
38 AliHLTTPCClusterTransformationComponent();
39 /** destructor */
40 virtual ~AliHLTTPCClusterTransformationComponent();
41
42 // Public functions to implement AliHLTComponent's interface.
43 // These functions are required for the registration process
44
45 /** interface function, see AliHLTComponent for description */
46 const char* GetComponentID();
47 /** interface function, see AliHLTComponent for description */
48 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
49 /** interface function, see AliHLTComponent for description */
50 AliHLTComponentDataType GetOutputDataType();
51 /** interface function, see AliHLTComponent for description */
52 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
53 /** interface function, see AliHLTComponent for description */
54 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
55 /** interface function, see AliHLTComponent for description */
56 AliHLTComponent* Spawn();
57 /** interface function, see @ref AliHLTComponent for description */
58 void GetOCDBObjectDescription( TMap* const targetMap);
59
60protected:
61
62 // Protected functions to implement AliHLTComponent's interface.
63 // These functions provide initialization as well as the actual processing capabilities of the component.
64
65 int DoInit( int argc, const char** argv );
66 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
67 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
68 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
69 int DoDeinit();
70
71 int Reconfigure(const char* cdbEntry, const char* chainId);
72
73 int ScanConfigurationArgument(int argc, const char** argv);
74
75 using AliHLTProcessor::DoEvent;
76
77private:
78
79
80 /** copy constructor prohibited */
81 AliHLTTPCClusterTransformationComponent(const AliHLTTPCClusterTransformationComponent&);
82
83 /** assignment operator prohibited */
84 AliHLTTPCClusterTransformationComponent& operator=(const AliHLTTPCClusterTransformationComponent&);
85
86 static const char* fgkOCDBEntryClusterTransformation; //!transient
87 static AliHLTTPCClusterTransformation fgTransform; //!transient
88 static Bool_t fgTimeInitialisedFromEvent; //!transient
89
90 Bool_t fDataId; // change output data description
91
92 AliHLTComponentBenchmark fBenchmark; // benchmarks
93
94 ClassDef(AliHLTTPCClusterTransformationComponent, 0)
95};
96
97#endif