5 /**************************************************************************
6 * This file is property of and copyright by the ALICE HLT Project *
7 * All rights reserved. *
9 * Primary Authors: Oystein Djuvsland *
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 **************************************************************************/
20 #ifndef ALIHLTPHOSCLUSTERIZERCOMPONENT_H
21 #define ALIHLTPHOSCLUSTERIZERCOMPONENT_H
26 * Clusterizer component for PHOS HLT
28 * @file AliHLTPHOSClusterizerComponent.h
29 * @author Oystein Djuvsland
31 * @brief A clusterizer component for PHOS HLT
34 // see below for class documentation
36 // refer to README to build package
38 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
40 #include "AliHLTPHOSProcessor.h"
41 #include <AliHLTCaloClusterizerComponent.h>
43 class AliHLTPHOSClusterizer;
44 class AliHLTPHOSRcuCellEnergyDataStruct;
45 class AliHLTPHOSRecPointDataStruct;
46 class AliHLTPHOSRecPointContainerStruct;
47 class AliHLTPHOSRecPointListDataStruct;
48 class AliHLTPHOSDigitContainerDataStruct;
51 * @class AliHLTPHOSClusterizerComponent
53 * Class for running clusterization for PHOS in HLT. It takes digits as input and
54 * gives reconstruction points as output.
56 * The component has the following component arguments:
57 * -clusterthreshold The energy threshold for starting a new rec point
58 * -energythreshold The energy threshold for including a digit in a
60 * @ingroup alihlt_phos
64 * @class AliHLTPHOSClusterizerComponent
66 * Class for running clusterization for PHOS in HLT.
68 * <h2>General properties:</h2>
70 * Component ID: \b PhosClusterizer <br>
71 * Library: \b libAliHLTPHOS.so <br>
72 * Input Data Types: @ref AliHLTPHOSDefinitions::fgkDigitDataType<br>
73 * Output Data Types: @ref AliHLTPHOSDefinitions::fgkRecPointDataType<br>
75 * <h2>Mandatory arguments:</h2>
76 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
77 * \li No mandatory arguments for component <br>
79 * <h2>Optional arguments:</h2>
80 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
81 * \li -digitthreshold <i> value </i> <br>
82 * threshold for a digit to be added to a rec point in GeV (default value: 0.03)
83 * \li -recpointthreshold <i> value </i> <br>
84 * threshold for starting a new rec point (default value: 0.2)
86 * if we want to do clusterisation on the partition level (not available...) (defaul value: false)
88 * <h2>Configuration:</h2>
89 * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
90 * \li No configuration arguments
92 * <h2>Default CDB entries:</h2>
93 * \li No CDB entry yet, will come.
95 * <h2>Performance:</h2>
96 * Pretty good (~ 3 kHz), depends on amount of data...
98 * <h2>Memory consumption:</h2>
99 * Depends on the amount of data, but pretty godd
101 * <h2>Output size:</h2>
102 * Depends on the amount of data...
104 * More detailed description. (At some point...)
106 * @ingroup alihlt_phos
109 class AliHLTPHOSClusterizerComponent: public AliHLTCaloClusterizerComponent
114 AliHLTPHOSClusterizerComponent();
117 virtual ~AliHLTPHOSClusterizerComponent();
119 /** Copy constructor */
120 AliHLTPHOSClusterizerComponent(const AliHLTPHOSClusterizerComponent &) :
121 AliHLTCaloClusterizerComponent()
123 //Copy constructor not implemented
127 AliHLTPHOSClusterizerComponent & operator = (const AliHLTPHOSClusterizerComponent)
133 /** interface function, see @ref AliHLTComponent for description */
134 const char* GetComponentID();
136 /** interface function, see @ref AliHLTComponent for description */
137 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
139 /** interface function, see @ref AliHLTComponent for description */
140 AliHLTComponent* Spawn();