]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSDigitMaker.h
Coding conventions and removal of obsolete files
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSDigitMaker.h
CommitLineData
209a4703 1
ab38011b 2/**************************************************************************
3 * This file is property of and copyright by the ALICE HLT Project *
4 * All rights reserved. *
5 * *
6 * Primary Authors: Oystein Djuvsland *
7 * *
8 * Permission to use, copy, modify and distribute this software and its *
9 * documentation strictly for non-commercial purposes is hereby granted *
10 * without fee, provided that the above copyright notice appears in all *
11 * copies and that both the copyright notice and this permission notice *
12 * appear in the supporting documentation. The authors make no claims *
13 * about the suitability of this software for any purpose. It is *
14 * provided "as is" without express or implied warranty. *
15 **************************************************************************/
209a4703 16#ifndef ALIHLTPHOSDIGITMAKER_H
17#define ALIHLTPHOSDIGITMAKER_H
18
2374af72 19/**
20 * Class makes digits from information from raw data
21 *
22 * @file AliHLTPHOSDigitMaker.h
23 * @author Oystein Djuvsland
24 * @date
25 * @brief Digit maker for PHOS HLT
26 */
27
28// see below for class documentation
29// or
30// refer to README to build package
31// or
32// visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
33
209a4703 34#include "AliHLTPHOSBase.h"
35#include "AliHLTPHOSConstants.h"
36
2374af72 37/**
38 * @class AliHLTPHOSDigitMaker
39 * Digit maker for PHOS HLT. Takes input from AliHLTPHOSRawAnalyzer, and
40 * outputs an AliHLTPHOSDigitDataStruct container, or a TClonesArray of
41 * AliHLTPHOSDigit. Can do software zero suppression
42 * @ingroup alihlt_phos
43 */
209a4703 44
45class AliHLTPHOSDigit;
46class TClonesArray;
47class TTree;
48class AliHLTPHOSValidCellDataStruct;
49class AliHLTPHOSRcuCellEnergyDataStruct;
50class AliHLTPHOSDigitContainerDataStruct;
51class AliHLTPHOSDigitDataStruct;
52
53using namespace PhosHLTConst;
54
55class AliHLTPHOSDigitMaker : public AliHLTPHOSBase
56{
57public:
2374af72 58
59 /** Constructor */
209a4703 60 AliHLTPHOSDigitMaker();
2374af72 61
62 /** Destructor */
ab38011b 63 virtual ~AliHLTPHOSDigitMaker();
209a4703 64
65 // void SetValidCellData(AliHLTPHOSValidCellDataStruct *data) { fCellDataPtr = data; }
66 // void SetDigitContainerStruct(AliHLTPHOSDigitContainerStruct *container)
67 //{ fDigitContainerStructPtr = container; }
2374af72 68
69 /**
70 * Sets the AliHLTPHOSDigitDataStruct container
71 * @param container the digit container
72 */
209a4703 73 void SetDigitContainerStruct(AliHLTPHOSDigitContainerDataStruct *container)
74 { fDigitContainerStructPtr = container; }
2374af72 75
76 /**
77 * Sets the TClonesArray of AliHLTPHOSDigit
78 * @param array the array
79 */
209a4703 80 void SetDigitArray(TClonesArray *array) { fDigitArrayPtr = array; }
2374af72 81
82 /**
83 * Sets the digit threshold
84 * @param threshold the threshold
85 */
209a4703 86 void SetDigitThreshold(Int_t threshold) { fDigitThreshold = threshold; }
2374af72 87
88 /**
89 * Sets the number of pre samples
90 * @param n the number of pre samples
91 */
209a4703 92 void SetNrPresamples(Int_t n) { fNrPresamples = n; }
2374af72 93
94 /**
95 * Make the digits for one event.
96 * @param rcuCellEnergies is the data from the AliHLTPHOSRawAnalyzer
97 * @return the number of digits found
98 */
99 Int_t MakeDigits(AliHLTPHOSRcuCellEnergyDataStruct* rcuCellEnergies);
100
101 /** Reset the digit maker */
209a4703 102 void Reset();
103
104private:
105
2374af72 106 /** Pointer to valid cell list */
107 AliHLTPHOSValidCellDataStruct *fCellDataPtr; //! transient
108
109 /** Pointer to the digit container */
110 AliHLTPHOSDigitContainerDataStruct *fDigitContainerStructPtr; //! transient
111
112 /** Pointer to the digit TClonesArray */
113 TClonesArray *fDigitArrayPtr; //! transient
114
115 /** Pointer to a AliHLTPHOSDigit */
116 AliHLTPHOSDigit *fDigitPtr; //! transient
117
118 /** Pointer to a AliHLTPHOSDigitDataStruct */
119 AliHLTPHOSDigitDataStruct *fDigitStructPtr; //! transient
120
121 /** Digit count */
122 Int_t fDigitCount;
123
124 /** Number of presamples */
125 Int_t fNrPresamples;
209a4703 126
2374af72 127 /** Threshold for making digit ( zero suppression threshold) */
128 Float_t fDigitThreshold;
209a4703 129
2374af72 130 ClassDef(AliHLTPHOSDigitMaker, 1);
209a4703 131};
132
133
134#endif
135