]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCKryptonClusterFinderComponent.h
code documantation and minor cleanup
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCKryptonClusterFinderComponent.h
1 // $Id$
2
3 #ifndef ALIHLTTPCKRYPTONCLUSTERFINDERCOMPONENT_H
4 #define ALIHLTTPCKRYPTONCLUSTERFINDERCOMPONENT_H
5
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                               *
9
10 /** @file   AliHLTTPCKryptonClusterFinderComponent.h
11     @author Kenneth Aamodt, Kalliopi Kanaki
12     @date   
13     @brief  The TPC krypton cluster finder component.
14 */
15
16 #include "AliHLTProcessor.h"
17
18 class AliHLTTPCKryptonClusterFinder;
19 class AliHLTTPCDigitReader;
20
21 /**
22  * @class AliHLTTPCKryptonClusterFinderComponent
23  * Component for the krypton ClusterFinder
24  * @ingroup alihlt_tpc_components
25  */
26 class AliHLTTPCKryptonClusterFinderComponent : public AliHLTProcessor
27     {
28     public:
29
30         /**
31          * constructor 
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
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();
52
53   /** Gets the TObjArray from AliHLTTPCKryptonClusterFinder and pushes it to the output */
54   void MakeHistosPublic();
55     protected:
56         
57         // Protected functions to implement AliHLTComponent's interface.
58         // These functions provide initialization as well as the actual processing
59         // capabilities of the component. 
60
61         int DoInit( int argc, const char** argv );
62         int DoDeinit();
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);
67
68         int Reconfigure(const char* cdbEntry, const char* chainId);
69         
70         int Configure(const char* arguments);
71       
72         using AliHLTProcessor::DoEvent;
73
74     private:
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
83
84         AliHLTUInt32_t fSpecification;
85
86         ClassDef(AliHLTTPCKryptonClusterFinderComponent, 1)
87 };
88 #endif