]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSClusterAnalyserComponent.h
- PHOS clusterizer component now inherits from CALO clusterizer component
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterAnalyserComponent.h
CommitLineData
1b41ab20 1//-*- Mode: C++ -*-
2// $Id$
3
fa0a9bec 4
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 **************************************************************************/
19
20#ifndef ALIHLTPHOSCLUSTERANALYSERCOMPONENT_H
21#define ALIHLTPHOSCLUSTERANALYSERCOMPONENT_H
22
23
24
25/**
26 * Cluster analyser component for PHOS HLT
27 *
28 * @file AliHLTPHOSClusterAnalyserComponent.h
29 * @author Oystein Djuvsland
30 * @date
31 * @brief A cluster analyser component for PHOS HLT
32*/
33
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
39
40#include "AliHLTPHOSProcessor.h"
41
42class AliHLTPHOSClusterAnalyser;
46d8500c 43class AliPHOSGeoUtils;
fa0a9bec 44/**
45 * @class AliHLTPHOSClusterAnalyserComponent
46 *
47 * Class for running cluster analysis for PHOS in HLT. It takes
48 * reconstruction points as input, analyses them, and outputs the
49 * rec points with updated information
50 *
51 * @ingroup alihlt_phos
52 */
53class AliHLTPHOSClusterAnalyserComponent : public AliHLTPHOSProcessor
54{
55 public:
56
57 /** Constructor */
58 AliHLTPHOSClusterAnalyserComponent();
59
60 /** Destructor */
61 virtual ~AliHLTPHOSClusterAnalyserComponent();
62
25b7f84c 63 /** Copy constructor */
b444d727 64 /// AliHLTPHOSClusterAnalyserComponent(const AliHLTPHOSClusterAnalyserComponent &);
25b7f84c 65
66 /** Assignment */
b444d727 67 //AliHLTPHOSClusterAnalyserComponent & operator = (const AliHLTPHOSClusterAnalyserComponent);
25b7f84c 68
fa0a9bec 69 /** interface function, see @ref AliHLTComponent for description */
70 const char* GetComponentID();
71
72 /** interface function, see @ref AliHLTComponent for description */
73 void GetInputDataTypes(std::vector<AliHLTComponentDataType>& list);
74
75 /** interface function, see @ref AliHLTComponent for description */
76 AliHLTComponentDataType GetOutputDataType();
77
78 /** interface function, see @ref AliHLTComponent for description */
79 void GetOutputDataSize(unsigned long& constBase, double& inputMultiplier);
80
81 /** interface function, see @ref AliHLTComponent for description */
b444d727 82 using AliHLTPHOSProcessor::DoEvent;
fa0a9bec 83 int DoEvent(const AliHLTComponentEventData& evtData, const AliHLTComponentBlockData* blocks,
84 AliHLTComponentTriggerData& trigData, AliHLTUInt8_t* outputPtr, AliHLTUInt32_t& size,
85 std::vector<AliHLTComponentBlockData>& outputBlocks);
86
87 /** interface function, see @ref AliHLTComponent for description */
88 AliHLTComponent* Spawn();
89
90protected:
91
92 /** interface function, see @ref AliHLTComponent for description */
93 int DoInit(int argc, const char** argv);
94
95 /** interface function, see @ref AliHLTComponent for description */
96 int Deinit();
97
46d8500c 98 /** interface function, see @ref AliHLTComponent for description */
99 int Reconfigure(const char* cdbEntry, const char* chainId);
100
101 /** interface function, see @ref AliHLTComponent for description */
102 int ScanConfigurationArgument(int argc, const char** argv);
103
104 /** Get the PHOS geometry from OCDB */
105 int GetGeometryFromCDB();
106
fa0a9bec 107private:
b444d727 108 /** Copy constructor */
32f4f8c9 109 AliHLTPHOSClusterAnalyserComponent(const AliHLTPHOSClusterAnalyserComponent &);
110 /** Assignment */
111 AliHLTPHOSClusterAnalyserComponent & operator = (const AliHLTPHOSClusterAnalyserComponent);
b444d727 112
32f4f8c9 113 /** The cluster analyser */
114 AliHLTPHOSClusterAnalyser* fClusterAnalyserPtr; //COMMENT
b444d727 115
32f4f8c9 116 /** Do we do deconvolution? */
117 Bool_t fDoDeconvolution; //COMMENT
118
119 /** Do we calculate moments? */
120 Bool_t fDoCalculateMoments; //COMMENT
121
122 /** The PHOS geometry */
123 AliPHOSGeoUtils *fPHOSGeometry; //!transient
fa0a9bec 124};
125
126#endif