3 #ifndef ALIHLTTPCKRYPTONCLUSTERFINDERCOMPONENT_H
4 #define ALIHLTTPCKRYPTONCLUSTERFINDERCOMPONENT_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 *
10 /** @file AliHLTTPCKryptonClusterFinderComponent.h
11 @author Kenneth Aamodt, Kalliopi Kanaki
13 @brief The TPC krypton cluster finder component.
16 #include "AliHLTProcessor.h"
18 class AliHLTTPCKryptonClusterFinder;
19 class AliHLTTPCDigitReader;
22 * @class AliHLTTPCKryptonClusterFinderComponent
23 * Component for the krypton ClusterFinder
24 * @ingroup alihlt_tpc_components
26 class AliHLTTPCKryptonClusterFinderComponent : public AliHLTProcessor
33 AliHLTTPCKryptonClusterFinderComponent();
35 virtual ~AliHLTTPCKryptonClusterFinderComponent();
37 // Public functions to implement AliHLTComponent's interface.
38 // These functions are required for the registration process
40 /** interface function, see AliHLTComponent for description */
41 const char* GetComponentID();
42 /** interface function, see AliHLTComponent for description */
43 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
44 /** interface function, see AliHLTComponent for description */
45 AliHLTComponentDataType GetOutputDataType();
46 /** interface function, see AliHLTComponent for description */
47 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
48 /** interface function, see AliHLTComponent for description */
49 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
50 /** interface function, see AliHLTComponent for description */
51 AliHLTComponent* Spawn();
55 // Protected functions to implement AliHLTComponent's interface.
56 // These functions provide initialization as well as the actual processing
57 // capabilities of the component.
59 int DoInit( int argc, const char** argv );
61 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
62 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
63 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
65 int Reconfigure(const char* cdbEntry, const char* chainId);
67 int Configure(const char* arguments);
69 using AliHLTProcessor::DoEvent;
72 /** copy constructor prohibited */
73 AliHLTTPCKryptonClusterFinderComponent(const AliHLTTPCKryptonClusterFinderComponent&);
74 /** assignment operator prohibited */
75 AliHLTTPCKryptonClusterFinderComponent& operator=(const AliHLTTPCKryptonClusterFinderComponent&);
76 /** the cluster finder object */
77 AliHLTTPCKryptonClusterFinder* fKryptonClusterFinder; //!transient
78 /** the reader object for data decoding */
79 AliHLTTPCDigitReader* fReader; //!transient
81 AliHLTUInt32_t fSpecification;
83 ClassDef(AliHLTTPCKryptonClusterFinderComponent, 0)