4 #ifndef ALIHLTTPCCALIBSEEDMAKERCOMPONENT_H
5 #define ALIHLTTPCCALIBSEEDMAKERCOMPONENT_H
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 *
11 /** @file AliHLTTPCCalibSeedMakerComponent.h
12 @author Kalliopi Kanaki
14 @brief A component to create TPC seeds from HLT clusters/tracks
17 #include "AliHLTProcessor.h"
19 //forward declarations
20 class AliHLTTPCSpacePointData;
24 class AliTPCclusterMI;
28 * @class AliHLTTPCCalibSeedMakerComponent
31 * @ingroup alihlt_tpc_components
34 class AliHLTTPCCalibSeedMakerComponent : public AliHLTProcessor {
38 /** standard constructor */
39 AliHLTTPCCalibSeedMakerComponent();
41 virtual ~AliHLTTPCCalibSeedMakerComponent();
43 // Public functions to implement AliHLTComponent's interface.
44 // These functions are required for the registration process
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 */
62 // Protected functions to implement AliHLTComponent's interface.
63 // These functions provide initialization as well as the actual processing capabilities of the component.
65 int DoInit( int argc, const char** argv );
67 int DoEvent( const AliHLTComponentEventData& evtData, AliHLTComponentTriggerData& trigData );
69 using AliHLTProcessor::DoEvent;
73 /** copy constructor prohibited */
74 AliHLTTPCCalibSeedMakerComponent(const AliHLTTPCCalibSeedMakerComponent&);
76 /** assignment operator prohibited */
77 AliHLTTPCCalibSeedMakerComponent& operator=(const AliHLTTPCCalibSeedMakerComponent&);
78 AliTPCParam *fTPCGeomParam; //!transient
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
85 static const Int_t fkNPartition = 36*6; // number of patches in TPC
86 AliTPCclusterMI *fPartitionClusters[fkNPartition]; //! arrays of cluster data for each TPC partition
87 Int_t fNPartitionClusters[fkNPartition]; //! number of clusters for each TPC partition
89 TH2F *fdEdx; // energy loss vs. momentum
91 ClassDef(AliHLTTPCCalibSeedMakerComponent, 5)