]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSClusterizerComponent.h
bugfix: '-nextevent' command in configuration file for publisher inserted correctly...
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizerComponent.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
91b95d47 4
2374af72 5/**************************************************************************
6 * This file is property of and copyright by the ALICE HLT Project *
7 * All rights reserved. *
8 * *
9 * Primary Authors: Oystein Djuvsland *
10 * *
11 * Permission to use, copy, modify and distribute this software and its *
12 * documentation strictly for non-commercial purposes is hereby granted *
13 * without fee, provided that the above copyright notice appears in all *
14 * copies and that both the copyright notice and this permission notice *
15 * appear in the supporting documentation. The authors make no claims *
16 * about the suitability of this software for any purpose. It is *
17 * provided "as is" without express or implied warranty. *
18 **************************************************************************/
91b95d47 19
20#ifndef ALIHLTPHOSCLUSTERIZERCOMPONENT_H
21#define ALIHLTPHOSCLUSTERIZERCOMPONENT_H
aac22523 22
aac22523 23
91b95d47 24
2374af72 25/**
26 * Clusterizer component for PHOS HLT
27 *
28 * @file AliHLTPHOSClusterizerComponent.h
29 * @author Oystein Djuvsland
30 * @date
31 * @brief A clusterizer component for PHOS HLT
32*/
9c9d15d6 33
2374af72 34// see below for class documentation
35// or
36// refer to README to build package
37// or
38// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
d2b84453 39
ad44d760 40#include "AliHLTCaloClusterizerComponent.h"
d2b84453 41
ad44d760 42#include <vector>
43
44// class AliHLTPHOSClusterizer;
45// class AliHLTPHOSRcuCellEnergyDataStruct;
46// class AliHLTPHOSRecPointDataStruct;
47// class AliHLTPHOSRecPointContainerStruct;
48// class AliHLTPHOSRecPointListDataStruct;
49// class AliHLTPHOSDigitContainerDataStruct;
aac22523 50
2374af72 51/**
52 * @class AliHLTPHOSClusterizerComponent
53 *
54 * Class for running clusterization for PHOS in HLT. It takes digits as input and
55 * gives reconstruction points as output.
56 *
57 * The component has the following component arguments:
58 * -clusterthreshold The energy threshold for starting a new rec point
59 * -energythreshold The energy threshold for including a digit in a
60 * rec point
61 * @ingroup alihlt_phos
62 */
87434909 63
64/**
65 * @class AliHLTPHOSClusterizerComponent
66 *
67 * Class for running clusterization for PHOS in HLT.
68 *
69 * <h2>General properties:</h2>
70 *
71 * Component ID: \b PhosClusterizer <br>
72 * Library: \b libAliHLTPHOS.so <br>
73 * Input Data Types: @ref AliHLTPHOSDefinitions::fgkDigitDataType<br>
74 * Output Data Types: @ref AliHLTPHOSDefinitions::fgkRecPointDataType<br>
75 *
76 * <h2>Mandatory arguments:</h2>
77 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
78 * \li No mandatory arguments for component <br>
79 *
80 * <h2>Optional arguments:</h2>
81 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
82 * \li -digitthreshold <i> value </i> <br>
83 * threshold for a digit to be added to a rec point in GeV (default value: 0.03)
84 * \li -recpointthreshold <i> value </i> <br>
85 * threshold for starting a new rec point (default value: 0.2)
86 * \li -partitionmode
87 * if we want to do clusterisation on the partition level (not available...) (defaul value: false)
88 *
89 * <h2>Configuration:</h2>
90 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
91 * \li No configuration arguments
92 *
93 * <h2>Default CDB entries:</h2>
94 * \li No CDB entry yet, will come.
95 *
96 * <h2>Performance:</h2>
97 * Pretty good (~ 3 kHz), depends on amount of data...
98 *
99 * <h2>Memory consumption:</h2>
100 * Depends on the amount of data, but pretty godd
101 *
102 * <h2>Output size:</h2>
103 * Depends on the amount of data...
104 *
105 * More detailed description. (At some point...)
106 *
107 * @ingroup alihlt_phos
108 */
109
ad44d760 110class AliHLTPHOSClusterizerComponent : public AliHLTCaloClusterizerComponent
bc304d87 111//class AliHLTPHOSClusterizerComponent : public AliHLTCaloProcessor
aac22523 112{
ad44d760 113
aac22523 114 public:
115
2374af72 116 /** Constructor */
aac22523 117 AliHLTPHOSClusterizerComponent();
9c9d15d6 118
2374af72 119 /** Destructor */
120 virtual ~AliHLTPHOSClusterizerComponent();
9c9d15d6 121
2374af72 122 /** interface function, see @ref AliHLTComponent for description */
aac22523 123 const char* GetComponentID();
2374af72 124
125 /** interface function, see @ref AliHLTComponent for description */
9cc0deb1 126 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
aac22523 127
ad44d760 128 /** interface function, see @ref AliHLTComponent for description */
129 AliHLTComponentDataType GetOutputDataType();
130
131 /** interface function, see @ref AliHLTComponent for description */
132 void GetOutputDataSize ( unsigned long& constBase, double& inputMultiplier );
133
2374af72 134 /** interface function, see @ref AliHLTComponent for description */
aac22523 135 AliHLTComponent* Spawn();
ad44d760 136
137protected:
427c373f 138
139 /** interface function, see @ref AliHLTComponent for description */
140 int DoInit ( int argc, const char** argv );
141
142 /** interface function, see @ref AliHLTComponent for description */
143 virtual int DoDeinit();
144
7b3a0a0e 145 /** Initialise geometry objects */
427c373f 146 virtual Int_t InitialiseGeometry();
ad44d760 147
148private:
149
150 /** Copy constructor, not implemented */
151 AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &);
9cc0deb1 152
ad44d760 153 /** Assignment operator, not implemented */
154 AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent);
155
7d01749e 156
aac22523 157};
158
159#endif