2 #ifndef ALIHLTITSCLUSTERFINDERSPDCOMPONENT_H
3 #define ALIHLTITSCLUSTERFINDERSPDCOMPONENT_H
5 //* This file is property of and copyright by the ALICE HLT Project *
6 //* ALICE Experiment at CERN, All rights reserved. *
7 //* See cxx source for full Copyright notice *
9 /** @file AliHLTITSClusterFinderSPDComponent.cxx
10 @author Gaute Øvrebekk <st05886@alf.uib.no>
12 @brief Component to run the offline clusterfinder.
15 #include "AliHLTProcessor.h"
16 #include "AliRawReaderMemory.h"
17 #include "AliITSClusterFinderV2SPD.h"
18 #include "TClonesArray.h"
19 #include "AliITSDetTypeRec.h"
20 #include "AliITSCalibrationSPD.h"
21 #include "AliITSgeom.h"
22 #include "AliITSInitGeometry.h"
25 * @class AliHLTITSClusterFinderSPDComponent
26 * Component to run the offline clusterfinder.
28 * @ingroup alihlt_its_components
31 class AliHLTITSClusterFinderSPDComponent : public AliHLTProcessor
36 * ---------------------------------------------------------------------------------
37 * Constructor / Destructor
38 * ---------------------------------------------------------------------------------
42 AliHLTITSClusterFinderSPDComponent();
45 virtual ~AliHLTITSClusterFinderSPDComponent();
48 * ---------------------------------------------------------------------------------
49 * Public functions to implement AliHLTComponent's interface.
50 * These functions are required for the registration process
51 * ---------------------------------------------------------------------------------
54 /** interface function, see @ref AliHLTComponent for description */
55 const char* GetComponentID();
57 /** interface function, see @ref AliHLTComponent for description */
58 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
60 /** interface function, see @ref AliHLTComponent for description */
61 AliHLTComponentDataType GetOutputDataType();
63 /** interface function, see @ref AliHLTComponent for description */
64 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
66 /** interface function, see @ref AliHLTComponent for description */
67 AliHLTComponent* Spawn();
72 * ---------------------------------------------------------------------------------
73 * Protected functions to implement AliHLTComponent's interface.
74 * These functions provide initialization as well as the actual processing
75 * capabilities of the component.
76 * ---------------------------------------------------------------------------------
80 Int_t DoInit( int argc, const char** argv );
82 /** DeInitialization */
85 Int_t fNModules; // total number of modules
88 //Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
89 // AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr
90 // ,AliHLTUInt32_t& size, AliHLTComponentBlockList& outputBlocks);
92 Int_t DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/);
94 using AliHLTProcessor::DoEvent;
96 ///////////////////////////////////////////////////////////////////////////////////
100 /** copy constructor prohibited */
101 AliHLTITSClusterFinderSPDComponent(const AliHLTITSClusterFinderSPDComponent&);
102 /** assignment operator prohibited */
103 AliHLTITSClusterFinderSPDComponent& operator=(const AliHLTITSClusterFinderSPDComponent&);
106 * ---------------------------------------------------------------------------------
108 * ---------------------------------------------------------------------------------
111 /** the cluster finder object */
112 AliITSClusterFinderV2SPD* fClusterFinder; //!transient
114 /** the reader object for data decoding */
115 AliRawReaderMemory* fRawReader; //!transient
117 AliITSDetTypeRec* fDettype; //!transient
119 TClonesArray** fClusters; //!transient
121 AliITSCalibrationSPD* fcal; //!transient
123 AliITSgeom* fgeom; //!transient
125 AliITSInitGeometry* fgeomInit; //!transient
127 ClassDef(AliHLTITSClusterFinderSPDComponent, 0)