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 @ref AliHLTComponent for description */
41 const char* GetComponentID();
42 /** interface function, see @ref AliHLTComponent for description */
43 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
44 /** interface function, see @ref AliHLTComponent for description */
45 AliHLTComponentDataType GetOutputDataType();
46 /** interface function, see @ref AliHLTComponent for description */
47 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
48 /** interface function, see @ref AliHLTComponent for description */
49 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
50 /** interface function, see @ref AliHLTComponent for description */
51 AliHLTComponent* Spawn();
53 /** Gets the TObjArray from AliHLTTPCKryptonClusterFinder and pushes it to the output */
54 void MakeHistosPublic();
57 // Protected functions to implement AliHLTComponent's interface.
58 // These functions provide initialization as well as the actual processing
59 // capabilities of the component.
61 int DoInit( int argc, const char** argv );
63 // int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
64 // AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
65 // AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
66 int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
68 int Reconfigure(const char* cdbEntry, const char* chainId);
70 int Configure(const char* arguments);
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 AliHLTUInt32_t fSpecification;
86 ClassDef(AliHLTTPCKryptonClusterFinderComponent, 1)