3 #ifndef ALIHLTITSCLUSTERFINDERSPDCOMPONENT_H
4 #define ALIHLTITSCLUSTERFINDERSPDCOMPONENT_H
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 *
10 /** @file AliHLTITSClusterFinderSPDComponent.cxx
11 @author Gaute Øvrebekk <st05886@alf.uib.no>
13 @brief Component to run the offline clusterfinder.
16 #include "AliHLTProcessor.h"
17 #include "AliRawReaderMemory.h"
18 #include "AliITSClusterFinderV2SPD.h"
19 #include "TClonesArray.h"
20 #include "AliITSDetTypeRec.h"
21 #include "AliITSCalibrationSPD.h"
22 #include "AliITSgeom.h"
23 #include "AliITSInitGeometry.h"
24 #include "AliITSsegmentationSSD.h"
27 * @class AliHLTITSClusterFinderSPDComponent
28 * Component to run the offline clusterfinder.
30 * @ingroup alihlt_its_components
33 class AliHLTITSClusterFinderSPDComponent : public AliHLTProcessor
38 * ---------------------------------------------------------------------------------
39 * Constructor / Destructor
40 * ---------------------------------------------------------------------------------
44 AliHLTITSClusterFinderSPDComponent();
47 virtual ~AliHLTITSClusterFinderSPDComponent();
50 * ---------------------------------------------------------------------------------
51 * Public functions to implement AliHLTComponent's interface.
52 * These functions are required for the registration process
53 * ---------------------------------------------------------------------------------
56 /** interface function, see @ref AliHLTComponent for description */
57 const char* GetComponentID();
59 /** interface function, see @ref AliHLTComponent for description */
60 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
62 /** interface function, see @ref AliHLTComponent for description */
63 AliHLTComponentDataType GetOutputDataType();
65 /** interface function, see @ref AliHLTComponent for description */
66 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
68 /** interface function, see @ref AliHLTComponent for description */
69 AliHLTComponent* Spawn();
74 * ---------------------------------------------------------------------------------
75 * Protected functions to implement AliHLTComponent's interface.
76 * These functions provide initialization as well as the actual processing
77 * capabilities of the component.
78 * ---------------------------------------------------------------------------------
82 Int_t DoInit( int argc, const char** argv );
84 /** DeInitialization */
87 Int_t fNModules; // total number of modules
90 //Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
91 // AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr
92 // ,AliHLTUInt32_t& size, AliHLTComponentBlockList& outputBlocks);
94 Int_t DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/);
96 using AliHLTProcessor::DoEvent;
98 ///////////////////////////////////////////////////////////////////////////////////
102 /** copy constructor prohibited */
103 AliHLTITSClusterFinderSPDComponent(const AliHLTITSClusterFinderSPDComponent&);
104 /** assignment operator prohibited */
105 AliHLTITSClusterFinderSPDComponent& operator=(const AliHLTITSClusterFinderSPDComponent&);
108 * ---------------------------------------------------------------------------------
110 * ---------------------------------------------------------------------------------
113 /** the cluster finder object */
114 AliITSClusterFinderV2SPD* fClusterFinder; //!transient
116 /** the reader object for data decoding */
117 AliRawReaderMemory* fRawReader; //!transient
119 AliITSDetTypeRec* fDettype; //!transient
121 TClonesArray** fClusters; //!transient
123 AliITSgeom* fgeom; //!transient
125 AliITSInitGeometry* fgeomInit; //!transient
127 AliITSsegmentationSSD* fSeg; //!transient
129 ClassDef(AliHLTITSClusterFinderSPDComponent, 1)