]> git.uio.no Git - u/mrichter/AliRoot.git/blob - HLT/PHOS/AliHLTPHOSRawAnalyzerComponentv3.h
Update From Debojit
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzerComponentv3.h
1 //-*- Mode: C++ -*-
2 // $Id$
3 /**************************************************************************
4  * This file is property of and copyright by the ALICE HLT Project        * 
5  * All rights reserved.                                                   *
6  *                                                                        *
7  * Primary Authors: Per Thomas Hille, Oystein Djuvsland                   *
8  *                                                                        *
9  * Permission to use, copy, modify and distribute this software and its   *
10  * documentation strictly for non-commercial purposes is hereby granted   *
11  * without fee, provided that the above copyright notice appears in all   *
12  * copies and that both the copyright notice and this permission notice   *
13  * appear in the supporting documentation. The authors make no claims     *
14  * about the suitability of this software for any purpose. It is          * 
15  * provided "as is" without express or implied warranty.                  *
16  **************************************************************************/
17
18
19 #ifndef ALIHLTPHOSRAWANALYZERCOMPONENTV3_H
20 #define ALIHLTPHOSRAWANALYZERCOMPONENTV3_H
21
22
23 /**
24  * Raw data analyzer component base class for PHOS HLT
25  *
26  * @file   AliHLTPHOSRawAnalyzerComponentv3.h
27  * @author Oystein Djuvsland
28  * @date   
29  * @brief  A clusterizer component for PHOS HLT
30 */
31
32 // see below for class documentation
33 // or
34 // refer to README to build package
35 // or
36 // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
37
38 #include "AliHLTCaloRawAnalyzerComponentv3.h"
39
40 class AliHLTPHOSRawAnalyzer;
41
42 /**
43  * @class AliHLTPHOSRawAnalyzerComponentv3
44  * This the new and fast version of the component taking care of the decoding and energy and timing 
45  * extraction of the raw data from PHOS.
46  *
47  * <h2>General properties:</h2>
48  *
49  * Component ID: \b PhosRawAnalyzerv3 <br>
50  * Library: \b libAliHLTPHOS.so     <br>
51  * Input Data Types: @ref <br>
52  * Output Data Types: @ref AliHLTPHOSDefinitions::fgkChannelDataType<br>
53  *
54  * <h2>Mandatory arguments:</h2>
55  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
56  * \li No mandatory arguments for component                           <br>
57  *
58  * <h2>Optional arguments:</h2>
59  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
60  * \li -offset      <i> value </i> <br>
61  *      gives the offset added to the data during zero suppression (default value: 0)
62  * \li -bunchsizecut <i> value </i> <br>
63  *      minimum number of samples a bunch must contain to be considered  (default value: 0)
64  * \li -minpeakposition <i> value </i> <br>
65  *      cut on minimum postion of the peak in the bunch (defaul value: 0)
66  * \li -maxpeakposition <i> value </i> <br>
67  *      cut on maximum postion of the peak in the bunch (defaul value: 100)
68  *
69  * <h2>Configuration:</h2>
70  * <!-- NOTE: ignore the \li. <i> and </i>: it's just doxygen formatting -->
71  * \li No configuration arguments 
72  *
73  * <h2>Default CDB entries:</h2>
74  * \li No CDB entry yet, will come.
75  *
76  * <h2>Performance:</h2>
77  * Pretty good (~ 3 kHz), depends on amount of data...
78  *
79  * <h2>Memory consumption:</h2>
80  * Depends on the amount of data, but pretty godd
81  *
82  * <h2>Output size:</h2>
83  * Depends on the amount of data...
84  *
85  * More detailed description. (Soon)
86  *
87  * @ingroup alihlt_phos
88  */ 
89
90
91 //#include "AliCaloConstants.h"
92
93 //using namespace Algo;
94
95
96 class AliHLTPHOSRawAnalyzerComponentv3 : public AliHLTCaloRawAnalyzerComponentv3
97 {
98  public:
99   AliHLTPHOSRawAnalyzerComponentv3( fitAlgorithm algo ); /** Standard constructor */
100   virtual ~AliHLTPHOSRawAnalyzerComponentv3();
101   virtual void GetInputDataTypes( vector <AliHLTComponentDataType>& list);/** interface function, see @ref AliHLTComponent for description */
102   virtual AliHLTComponentDataType GetOutputDataType();/** interface function, see @ref AliHLTComponent for description */
103   virtual const char* GetComponentID() = 0; 
104   virtual AliHLTComponent* Spawn() = 0; /** interface function, see @ref AliHLTComponent for description */
105  
106  protected:
107     
108   /** interface function, see @ref AliHLTComponent for description */
109   virtual int DoInit(int argc, const char** argv);
110
111     
112   virtual void InitMapping(const int specification);
113   
114  private:
115   AliHLTPHOSRawAnalyzerComponentv3();
116   AliHLTPHOSRawAnalyzerComponentv3(const AliHLTPHOSRawAnalyzerComponentv3 & );
117   AliHLTPHOSRawAnalyzerComponentv3 & operator = (const AliHLTPHOSRawAnalyzerComponentv3 &);
118   
119 };
120
121 #endif
122