]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/TPCLib/calibration/AliHLTTPCCalibSeedMakerComponent.h
- added protection for slice and partition values out of range
[u/mrichter/AliRoot.git] / HLT / TPCLib / calibration / AliHLTTPCCalibSeedMakerComponent.h
1 // -*- Mode: C++ -*-
2 // $Id$
3
4 #ifndef ALIHLTTPCCALIBSEEDMAKERCOMPONENT_H
5 #define ALIHLTTPCCALIBSEEDMAKERCOMPONENT_H
6
7 //* This file is property of and copyright by the ALICE HLT Project        * 
8 //* ALICE Experiment at CERN, All rights reserved.                         *
9 //* See cxx source for full Copyright notice                               *
10
11 /** @file   AliHLTTPCCalibSeedMakerComponent.h
12     @author Kalliopi Kanaki
13     @date   2009-07-08
14     @brief A component to create TPC seeds from HLT clusters/tracks
15 */
16
17 #include "AliHLTProcessor.h"
18
19 //forward declarations
20 class AliHLTTPCSpacePointData;
21 class AliTPCParam;
22 class TObjArray;
23
24 /**
25  * @class AliHLTTPCCalibSeedMakerComponent
26  * 
27  *
28  * @ingroup alihlt_tpc_components
29  */ 
30
31 class AliHLTTPCCalibSeedMakerComponent : public AliHLTProcessor {
32     
33    public:
34    
35    /** standard constructor */    
36    AliHLTTPCCalibSeedMakerComponent();           
37    /** destructor */
38    virtual ~AliHLTTPCCalibSeedMakerComponent();
39
40       // Public functions to implement AliHLTComponent's interface.
41       // These functions are required for the registration process
42       
43       /** interface function, see AliHLTComponent for description */
44       const char* GetComponentID();                                                          
45       /** interface function, see AliHLTComponent for description */
46       void GetInputDataTypes( vector<AliHLTComponentDataType>& list);                        
47       /** interface function, see AliHLTComponent for description */
48       AliHLTComponentDataType GetOutputDataType();                                           
49       /** interface function, see AliHLTComponent for description */
50       int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);                        
51       /** interface function, see AliHLTComponent for description */
52       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); 
53       /** interface function, see AliHLTComponent for description */
54       AliHLTComponent* Spawn();                                                            
55       /** function for acting on the saving and cleaning histograms, after they are filled */
56         
57    protected:
58         
59       // Protected functions to implement AliHLTComponent's interface.
60       // These functions provide initialization as well as the actual processing capabilities of the component. 
61
62       int DoInit( int argc, const char** argv );
63       int DoDeinit();
64       int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
65       
66       using AliHLTProcessor::DoEvent;
67       
68    private:
69              
70       /** copy constructor prohibited */
71       AliHLTTPCCalibSeedMakerComponent(const AliHLTTPCCalibSeedMakerComponent&);
72
73       /** assignment operator prohibited */
74       AliHLTTPCCalibSeedMakerComponent& operator=(const AliHLTTPCCalibSeedMakerComponent&);
75       AliTPCParam    *fTPCGeomParam;  //!transient
76       
77       AliHLTTPCSpacePointData *fClustersArray[36][6]; //! transient
78       UInt_t                   fNSpacePoints[36][6];  //! transient
79       TObjArray *fSeedArray;
80                       
81       ClassDef(AliHLTTPCCalibSeedMakerComponent, 2)
82     };
83
84 #endif