]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/TPCLib/AliHLTTPCKryptonClusterFinderComponent.h
reverting r45444 to disentangle modules and make porting possible
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCKryptonClusterFinderComponent.h
CommitLineData
187229ab 1// $Id$
2
3#ifndef ALIHLTTPCKRYPTONCLUSTERFINDERCOMPONENT_H
4#define ALIHLTTPCKRYPTONCLUSTERFINDERCOMPONENT_H
5
297174de 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 *
187229ab 9
10/** @file AliHLTTPCKryptonClusterFinderComponent.h
98034d0d 11 @author Kenneth Aamodt, Kalliopi Kanaki
187229ab 12 @date
98034d0d 13 @brief The TPC krypton cluster finder component.
187229ab 14*/
15
187229ab 16#include "AliHLTProcessor.h"
17
18class AliHLTTPCKryptonClusterFinder;
19class AliHLTTPCDigitReader;
20
21/**
22 * @class AliHLTTPCKryptonClusterFinderComponent
23 * Component for the krypton ClusterFinder
24 * @ingroup alihlt_tpc_components
25 */
26class AliHLTTPCKryptonClusterFinderComponent : public AliHLTProcessor
27 {
28 public:
29
30 /**
31 * constructor
187229ab 32 */
33 AliHLTTPCKryptonClusterFinderComponent();
34 /** destructor */
35 virtual ~AliHLTTPCKryptonClusterFinderComponent();
36
37 // Public functions to implement AliHLTComponent's interface.
38 // These functions are required for the registration process
39
9783a5cf 40 /** interface function, see AliHLTComponent for description */
187229ab 41 const char* GetComponentID();
9783a5cf 42 /** interface function, see AliHLTComponent for description */
187229ab 43 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
9783a5cf 44 /** interface function, see AliHLTComponent for description */
187229ab 45 AliHLTComponentDataType GetOutputDataType();
9783a5cf 46 /** interface function, see AliHLTComponent for description */
187229ab 47 int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);
9783a5cf 48 /** interface function, see AliHLTComponent for description */
187229ab 49 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
9783a5cf 50 /** interface function, see AliHLTComponent for description */
187229ab 51 AliHLTComponent* Spawn();
52
53 protected:
54
55 // Protected functions to implement AliHLTComponent's interface.
56 // These functions provide initialization as well as the actual processing
57 // capabilities of the component.
58
59 int DoInit( int argc, const char** argv );
60 int DoDeinit();
0efebbac 61 int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
62 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr,
63 AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
b7625c4d 64
187229ab 65 int Reconfigure(const char* cdbEntry, const char* chainId);
66
b7625c4d 67 int Configure(const char* arguments);
68
187229ab 69 using AliHLTProcessor::DoEvent;
70
71 private:
72 /** copy constructor prohibited */
73 AliHLTTPCKryptonClusterFinderComponent(const AliHLTTPCKryptonClusterFinderComponent&);
74 /** assignment operator prohibited */
75 AliHLTTPCKryptonClusterFinderComponent& operator=(const AliHLTTPCKryptonClusterFinderComponent&);
76 /** the cluster finder object */
98034d0d 77 AliHLTTPCKryptonClusterFinder* fKryptonClusterFinder; //!transient
187229ab 78 /** the reader object for data decoding */
79 AliHLTTPCDigitReader* fReader; //!transient
80
b7625c4d 81 AliHLTUInt32_t fSpecification;
82
22240104 83 ClassDef(AliHLTTPCKryptonClusterFinderComponent, 0)
187229ab 84};
85#endif