]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/AliHLTTPCClusterTransformationComponent.h
Make SetChi2 method public
[u/mrichter/AliRoot.git] / HLT / TPCLib / AliHLTTPCClusterTransformationComponent.h
1 // -*- Mode: C++ -*-
2
3 #ifndef ALIHLTTPCCLUSTERTRANSFORMATIONCOMPONENT_H
4 #define ALIHLTTPCCLUSTERTRANSFORMATIONCOMPONENT_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   AliHLTTPCClusterTransformationComponent.h
11     @author Sergey Gorbunov
12     @date   
13     @brief
14 */
15
16 // see below for class documentation
17 // or
18 // refer to README to build package
19 // or
20 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
21
22 #include "AliHLTProcessor.h"
23 #include "AliHLTComponentBenchmark.h"
24
25 class AliHLTTPCClusterTransformation;
26
27
28 /**
29  * @class AliHLTTPCClusterTransformationComponent
30  * @ingroup alihlt_tpc_components
31  */
32
33 class AliHLTTPCClusterTransformationComponent : public AliHLTProcessor {
34     
35 public:
36
37   /** standard constructor */    
38   AliHLTTPCClusterTransformationComponent();           
39   /** destructor */
40   virtual ~AliHLTTPCClusterTransformationComponent();
41
42   // Public functions to implement AliHLTComponent's interface.
43   // These functions are required for the registration process
44       
45   /** interface function, see AliHLTComponent for description */
46   const char* GetComponentID();                                                      
47   /** interface function, see AliHLTComponent for description */
48   void GetInputDataTypes( vector<AliHLTComponentDataType>& list);                            
49   /** interface function, see AliHLTComponent for description */
50   AliHLTComponentDataType GetOutputDataType();                                       
51   /** interface function, see AliHLTComponent for description */
52   int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);                    
53   /** interface function, see AliHLTComponent for description */
54   virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); 
55   /** interface function, see AliHLTComponent for description */
56   AliHLTComponent* Spawn();                                                        
57   /** interface function, see @ref AliHLTComponent for description */
58   void GetOCDBObjectDescription( TMap* const targetMap);
59   
60 protected:
61         
62   // Protected functions to implement AliHLTComponent's interface.
63   // These functions provide initialization as well as the actual processing capabilities of the component. 
64
65   int DoInit( int argc, const char** argv );
66   int DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks, 
67                      AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, 
68                      AliHLTUInt32_t& size, vector<AliHLTComponentBlockData>& outputBlocks );
69   int DoDeinit();
70   
71   int Reconfigure(const char* cdbEntry, const char* chainId);  
72
73   int ScanConfigurationArgument(int argc, const char** argv);
74
75   using AliHLTProcessor::DoEvent;
76   
77 private:
78    
79           
80   /** copy constructor prohibited */
81   AliHLTTPCClusterTransformationComponent(const AliHLTTPCClusterTransformationComponent&);
82
83   /** assignment operator prohibited */
84   AliHLTTPCClusterTransformationComponent& operator=(const AliHLTTPCClusterTransformationComponent&);
85
86   static const char* fgkOCDBEntryClusterTransformation; //!transient
87   static AliHLTTPCClusterTransformation fgTransform; //!transient
88   static Bool_t fgTimeInitialisedFromEvent; //!transient
89
90   Bool_t fDataId; // change output data description
91
92   AliHLTComponentBenchmark fBenchmark; // benchmarks
93
94   ClassDef(AliHLTTPCClusterTransformationComponent, 0)
95 };
96
97 #endif