]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/ITS/AliHLTITSClusterFinderSPDComponent.h
- code cleanup and starting component documentation
[u/mrichter/AliRoot.git] / HLT / ITS / AliHLTITSClusterFinderSPDComponent.h
CommitLineData
6e34b293 1//-*- Mode: C++ -*-
2// $Id$
5f2721d5 3#ifndef ALIHLTITSCLUSTERFINDERSPDCOMPONENT_H
4#define ALIHLTITSCLUSTERFINDERSPDCOMPONENT_H
5
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 *
9
10/** @file AliHLTITSClusterFinderSPDComponent.cxx
11 @author Gaute Øvrebekk <st05886@alf.uib.no>
12 @date
13 @brief Component to run the offline clusterfinder.
14*/
15
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"
6e34b293 24#include "AliITSsegmentationSSD.h"
5f2721d5 25
26/**
27 * @class AliHLTITSClusterFinderSPDComponent
21de9ddd 28 * HLT Component to run the ITS offline clusterfinder for SPD.
29 *
30 * <h2>General properties:</h2>
31 *
32 * Component ID: \b ITSClusterFinderSPD <br>
33 * Library: \b libAliHLTITS.so <br>
34 * Input Data Types: <br>
35 * kAliHLTDataTypeDDLRaw|kAliHLTDataOriginITSSPD <br>
36 *
37 * Output Data Types: <br>
38 * kAliHLTDataTypeClusters|kAliHLTDataOriginITSSPD <br>
39 *
40 * <h2>Mandatory arguments:</h2>
41 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
42 *
43 * <h2>Optional arguments:</h2>
44 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
45 *
46 * <h2>Configuration:</h2>
47 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
48 * \li -config1 <i> teststring </i> <br>
49 * a configuration argument with one parameter
50 * \li -config2 <br>
51 * a configuration argument without parameters
52 *
53 * <h2>Default CDB entries:</h2>
54 * TODO
55 *
56 * <h2>Performance:</h2>
57 * TODO
58 *
59 * <h2>Memory consumption:</h2>
60 * TODO
61 *
62 * <h2>Output size:</h2>
63 * TODO
5f2721d5 64 *
65 * @ingroup alihlt_its_components
66 */
5f2721d5 67class AliHLTITSClusterFinderSPDComponent : public AliHLTProcessor
68{
69 public:
70
71 /*
72 * ---------------------------------------------------------------------------------
73 * Constructor / Destructor
74 * ---------------------------------------------------------------------------------
75 */
76
77 /** constructor */
78 AliHLTITSClusterFinderSPDComponent();
79
80 /** destructor */
81 virtual ~AliHLTITSClusterFinderSPDComponent();
82
83 /*
84 * ---------------------------------------------------------------------------------
85 * Public functions to implement AliHLTComponent's interface.
86 * These functions are required for the registration process
87 * ---------------------------------------------------------------------------------
88 */
89
90 /** interface function, see @ref AliHLTComponent for description */
91 const char* GetComponentID();
92
93 /** interface function, see @ref AliHLTComponent for description */
94 void GetInputDataTypes( vector<AliHLTComponentDataType>& list);
95
96 /** interface function, see @ref AliHLTComponent for description */
97 AliHLTComponentDataType GetOutputDataType();
98
99 /** interface function, see @ref AliHLTComponent for description */
100 virtual void GetOutputDataSize( unsigned long& constBase, double& inputMultiplier );
101
102 /** interface function, see @ref AliHLTComponent for description */
103 AliHLTComponent* Spawn();
104
105 protected:
106
107 /*
108 * ---------------------------------------------------------------------------------
109 * Protected functions to implement AliHLTComponent's interface.
110 * These functions provide initialization as well as the actual processing
111 * capabilities of the component.
112 * ---------------------------------------------------------------------------------
113 */
114
115 /** Initialization */
116 Int_t DoInit( int argc, const char** argv );
117
118 /** DeInitialization */
119 Int_t DoDeinit();
120
121 Int_t fNModules; // total number of modules
122
123 /** EventLoop */
124 //Int_t DoEvent( const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
125 // AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr
126 // ,AliHLTUInt32_t& size, AliHLTComponentBlockList& outputBlocks);
127
128 Int_t DoEvent( const AliHLTComponentEventData& /*evtData*/, AliHLTComponentTriggerData& /*trigData*/);
129
130 using AliHLTProcessor::DoEvent;
131
132 ///////////////////////////////////////////////////////////////////////////////////
133
134 private:
135
136 /** copy constructor prohibited */
137 AliHLTITSClusterFinderSPDComponent(const AliHLTITSClusterFinderSPDComponent&);
138 /** assignment operator prohibited */
139 AliHLTITSClusterFinderSPDComponent& operator=(const AliHLTITSClusterFinderSPDComponent&);
140
141 /*
142 * ---------------------------------------------------------------------------------
143 * Members - private
144 * ---------------------------------------------------------------------------------
145 */
146
147 /** the cluster finder object */
148 AliITSClusterFinderV2SPD* fClusterFinder; //!transient
149
150 /** the reader object for data decoding */
151 AliRawReaderMemory* fRawReader; //!transient
152
153 AliITSDetTypeRec* fDettype; //!transient
154
155 TClonesArray** fClusters; //!transient
156
5f2721d5 157 AliITSgeom* fgeom; //!transient
158
159 AliITSInitGeometry* fgeomInit; //!transient
6e34b293 160
161 AliITSsegmentationSSD* fSeg; //!transient
5f2721d5 162
6e34b293 163 ClassDef(AliHLTITSClusterFinderSPDComponent, 1)
5f2721d5 164
165 };
166#endif