]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCClusterConverterComponent.h
cleaning memory on error condition and loop break
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterConverterComponent.h
CommitLineData
cdfe3c01 1// XEmacs -*-C++-*-
2// $Id$
3
4#ifndef ALIHLTTPCCLUSTERCONVERTERCOMPONENT_H
5#define ALIHLTTPCCLUSTERCONVERTERCOMPONENT_H
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 AliHLTTPCClusterConverterComponent.h
11 @author Kalliopi Kanaki
12 @date
13 @brief The TPC cluster format conversion component.
14*/
15
16#include "AliHLTProcessor.h"
17
18class AliHLTTPCSpacePointData;
19class AliHLTTPCTrackSegmentData;
20class TObjArray;
21
22/**
23 * @class AliHLTTPCClusterConverterComponent
24 * The TPC cluster format conversion component
25 *
26 * The purpose of the component is publishing the
27 * USED clusters of the tracks, translating them to
28 * the offline format. For this reason, it subscribes
29 * to the cluster finder, the slice tracker and the
30 * global merger.
31 *
32 * @ingroup alihlt_tpc_components
33 */
34
35class AliHLTTPCClusterConverterComponent : public AliHLTProcessor{
36
37public:
38 /** default constructor */
39 AliHLTTPCClusterConverterComponent();
40 /** destructor */
41 virtual ~AliHLTTPCClusterConverterComponent();
42
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
45
9783a5cf 46 /** interface function, see AliHLTComponent for description */
cdfe3c01 47 const char* GetComponentID();
9783a5cf 48 /** interface function, see AliHLTComponent for description */
cdfe3c01 49 void GetInputDataTypes(AliHLTComponentDataTypeList& list);
9783a5cf 50 /** interface function, see AliHLTComponent for description */
cdfe3c01 51 AliHLTComponentDataType GetOutputDataType();
9783a5cf 52 /** interface function, see AliHLTComponent for description */
cdfe3c01 53 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
9783a5cf 54 /** interface function, see AliHLTComponent for description */
cdfe3c01 55 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
9783a5cf 56 /** interface function, see AliHLTComponent for description */
cdfe3c01 57 AliHLTComponent* Spawn();
58
59protected:
60
9783a5cf 61 /** interface function, see AliHLTComponent for description */
cdfe3c01 62 int DoInit( int argc, const char** argv );
9783a5cf 63 /** interface function, see AliHLTComponent for description */
cdfe3c01 64 int DoDeinit();
9783a5cf 65 /** interface function, see AliHLTComponent for description */
cdfe3c01 66 int DoEvent(const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& trigData);
67
68 int Reconfigure(const char* cdbEntry, const char* chainId);
69
70 using AliHLTProcessor::DoEvent;
71
72private:
73 /** copy constructor prohibited */
74 AliHLTTPCClusterConverterComponent(const AliHLTTPCClusterConverterComponent&);
75 /** assignment operator prohibited */
76 AliHLTTPCClusterConverterComponent& operator=(const AliHLTTPCClusterConverterComponent&);
77 /**
78 * Configure the component.
79 * Parse a string for the configuration arguments and set the component
80 * properties.
81 */
82 int Configure(const char* arguments);
83
84 vector<AliHLTTPCSpacePointData> fClusters; //! transient
85 vector<AliHLTTPCTrackSegmentData> fTracks; //!transient
86 TObjArray *fOffArray; //!transient
87
88 ClassDef(AliHLTTPCClusterConverterComponent, 0);
89
90};
91#endif