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();
59 /** Gets the TObjArray from AliHLTTPCKryptonClusterFinder and pushes it to the output */
60 void MakeHistosPublic();
63 // Protected functions to implement AliHLTComponent's interface.
64 // These functions provide initialization as well as the actual processing
65 // capabilities of the component.
67 int DoInit( int argc, const char** argv );
69 // int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
70 // AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
71 // AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
72 int DoEvent(const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData);
74 int Reconfigure(const char* cdbEntry, const char* chainId);
76 int Configure(const char* arguments);
78 using AliHLTProcessor::DoEvent;
81 /** copy constructor prohibited */
82 AliHLTTPCKryptonClusterFinderComponent(const AliHLTTPCKryptonClusterFinderComponent&);
83 /** assignment operator prohibited */
84 AliHLTTPCKryptonClusterFinderComponent& operator=(const AliHLTTPCKryptonClusterFinderComponent&);
85 /** the cluster finder object */
86 AliHLTTPCKryptonClusterFinder* fKryptonClusterFinder; //!transient
87 /** the reader object for data decoding */
88 AliHLTTPCDigitReader* fReader; //!transient
90 AliHLTUInt32_t fSpecification;
92 ClassDef(AliHLTTPCKryptonClusterFinderComponent, 1)