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 // see below for class documentation
18 // refer to README to build package
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
22 #include "AliHLTProcessor.h"
24 class AliHLTTPCKryptonClusterFinder;
25 class AliHLTTPCDigitReader;
28 * @class AliHLTTPCKryptonClusterFinderComponent
29 * Component for the krypton ClusterFinder
30 * @ingroup alihlt_tpc_components
32 class AliHLTTPCKryptonClusterFinderComponent : public AliHLTProcessor
39 AliHLTTPCKryptonClusterFinderComponent();
41 virtual ~AliHLTTPCKryptonClusterFinderComponent();
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
46 /** interface function, see @ref AliHLTComponent for description */
47 const char* GetComponentID();
48 /** interface function, see @ref AliHLTComponent for description */
49 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
50 /** interface function, see @ref AliHLTComponent for description */
51 AliHLTComponentDataType GetOutputDataType();
52 /** interface function, see @ref AliHLTComponent for description */
53 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
54 /** interface function, see @ref AliHLTComponent for description */
55 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
56 /** interface function, see @ref AliHLTComponent for description */
57 AliHLTComponent* Spawn();
61 // Protected functions to implement AliHLTComponent's interface.
62 // These functions provide initialization as well as the actual processing
63 // capabilities of the component.
65 int DoInit( int argc, const char** argv );
67 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
68 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
69 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
70 int Reconfigure(const char* cdbEntry, const char* chainId);
72 using AliHLTProcessor::DoEvent;
75 /** copy constructor prohibited */
76 AliHLTTPCKryptonClusterFinderComponent(const AliHLTTPCKryptonClusterFinderComponent&);
77 /** assignment operator prohibited */
78 AliHLTTPCKryptonClusterFinderComponent& operator=(const AliHLTTPCKryptonClusterFinderComponent&);
79 /** the cluster finder object */
80 AliHLTTPCKryptonClusterFinder* fKryptonClusterFinder; //!transient
81 /** the reader object for data decoding */
82 AliHLTTPCDigitReader* fReader; //!transient
84 ClassDef(AliHLTTPCKryptonClusterFinderComponent, 0)