]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSClusterAnalyserComponent.h
- fixed wrong constant
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterAnalyserComponent.h
1 //-*- Mode: C++ -*-
2 // $Id$
3
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
42 class AliHLTPHOSClusterAnalyser;
43 class AliPHOSGeoUtils;
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  */
53 class AliHLTPHOSClusterAnalyserComponent : public AliHLTPHOSProcessor
54 {
55  public:
56
57   /** Constructor */
58   AliHLTPHOSClusterAnalyserComponent();
59
60   /** Destructor */
61   virtual ~AliHLTPHOSClusterAnalyserComponent();
62
63   /** Copy constructor */
64   /// AliHLTPHOSClusterAnalyserComponent(const AliHLTPHOSClusterAnalyserComponent &);
65   
66   /** Assignment */
67   //AliHLTPHOSClusterAnalyserComponent & operator = (const AliHLTPHOSClusterAnalyserComponent);
68   
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 */
82   using AliHLTPHOSProcessor::DoEvent;
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   
90 protected:
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
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
107 private:
108   /** Copy constructor */
109   AliHLTPHOSClusterAnalyserComponent(const AliHLTPHOSClusterAnalyserComponent &);
110   /** Assignment */
111   AliHLTPHOSClusterAnalyserComponent & operator = (const AliHLTPHOSClusterAnalyserComponent);
112  
113   /** The cluster analyser */
114   AliHLTPHOSClusterAnalyser* fClusterAnalyserPtr;  //COMMENT
115  
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
124 };
125
126 #endif