fixing clang issues
[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 struct AliHLTTPCSpacePointData;
21 class AliTPCParam;
22 //class TClonesArray;
23 class TObjArray;
24 class AliTPCclusterMI;
25 class TH2F;
26
27 /**
28  * @class AliHLTTPCCalibSeedMakerComponent
29  * 
30  *
31  * @ingroup alihlt_tpc_components
32  */ 
33
34 class AliHLTTPCCalibSeedMakerComponent : public AliHLTProcessor {
35     
36    public:
37    
38    /** standard constructor */    
39    AliHLTTPCCalibSeedMakerComponent();           
40    /** destructor */
41    virtual ~AliHLTTPCCalibSeedMakerComponent();
42
43       // Public functions to implement AliHLTComponent's interface.
44       // These functions are required for the registration process
45       
46       /** interface function, see AliHLTComponent for description */
47       const char* GetComponentID();                                                          
48       /** interface function, see AliHLTComponent for description */
49       void GetInputDataTypes( vector<AliHLTComponentDataType>& list);                        
50       /** interface function, see AliHLTComponent for description */
51       AliHLTComponentDataType GetOutputDataType();                                           
52       /** interface function, see AliHLTComponent for description */
53       int GetOutputDataTypes(AliHLTComponentDataTypeList& tgtList);                        
54       /** interface function, see AliHLTComponent for description */
55       virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier ); 
56       /** interface function, see AliHLTComponent for description */
57       AliHLTComponent* Spawn();                                                            
58       /** function for acting on the saving and cleaning histograms, after they are filled */
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 DoDeinit();
67       int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
68       
69       using AliHLTProcessor::DoEvent;
70       
71    private:
72              
73       /** copy constructor prohibited */
74       AliHLTTPCCalibSeedMakerComponent(const AliHLTTPCCalibSeedMakerComponent&);
75
76       /** assignment operator prohibited */
77       AliHLTTPCCalibSeedMakerComponent& operator=(const AliHLTTPCCalibSeedMakerComponent&);
78       AliTPCParam    *fTPCGeomParam;  //!transient
79       
80       //AliHLTTPCSpacePointData *fClustersArray[36][6]; //! transient
81       //UInt_t                   fNSpacePoints[36][6];  //! transient
82       //TClonesArray            *fSeedArray; // array of AliTPCseed objects
83       //TObjArray               *seedArray; // array of AliTPCseed arrays
84       TObjArray *fSeedArray;
85       
86       static const Int_t fkNPartition = 36*6;           // number of patches in TPC
87       AliTPCclusterMI   *fPartitionClusters[fkNPartition];  //! arrays of cluster data for each TPC partition
88       Int_t              fNPartitionClusters[fkNPartition]; //! number of clusters for each TPC partition
89       
90       TH2F *fdEdx; // energy loss vs. momentum
91                     
92       ClassDef(AliHLTTPCCalibSeedMakerComponent, 6)
93     };
94
95 #endif