]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - HLT/PHOS/AliHLTPHOSRawAnalyzer.cxx
undo change to fake survey data
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSRawAnalyzer.cxx
... / ...
CommitLineData
1/**************************************************************************
2 * Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
3 * *
4 * Author: Per Thomas Hille for the ALICE HLT Project. *
5 * Contributors are mentioned in the code where appropriate. *
6 * *
7 * Permission to use, copy, modify and distribute this software and its *
8 * documentation strictly for non-commercial purposes is hereby granted *
9 * without fee, provided that the above copyright notice appears in all *
10 * copies and that both the copyright notice and this permission notice *
11 * appear in the supporting documentation. The authors make no claims *
12 * about the suitability of this software for any purpose. It is *
13 * provided "as is" without express or implied warranty. *
14 **************************************************************************/
15
16#include "AliHLTPHOSRawAnalyzer.h"
17
18
19AliHLTPHOSRawAnalyzer:: AliHLTPHOSRawAnalyzer(): AliHLTPHOSBase(),
20 fFloatDataPtr(0),
21 fIntDataPtr(0),
22 fSampleFrequency(10),
23 fDTofGuess(-1),
24 fDAmplGuess(-1),
25 fTau(2),
26 fDTof(99999),
27 fDAmpl(99999),
28 fStartIndex(0)
29{
30 fIntDataPtr = new UInt_t[1008];
31}
32
33AliHLTPHOSRawAnalyzer::~AliHLTPHOSRawAnalyzer()
34{
35 delete[] fIntDataPtr;
36}
37
38
39
40/**
41* Main constructor
42* @param dtaPtr Data array for wich a subarray will be taken to perform the fit
43* @param fs the sampling frequency in entities of MHz. Needed in order to calculate physical time
44**/
45AliHLTPHOSRawAnalyzer::AliHLTPHOSRawAnalyzer(double * /*dtaPtr*/, double fs): AliHLTPHOSBase(),
46 fFloatDataPtr(0),
47 fIntDataPtr(0),
48 fSampleFrequency(10),
49 fDTofGuess(-1),
50 fDAmplGuess(-1),
51 fTau(2),
52 fDTof(99999),
53 fDAmpl(99999),
54 fStartIndex(0)
55{
56 fSampleFrequency = fs;
57} //end
58
59
60/**
61* Attemps to level the basline to zero.
62* The baseline will be calculated from the pretrigger samples and subtracted from the
63* data array.
64* If pretrigger samples are not present then the basline correction will be incorrect.
65* @param dataPtr array for wich to correct the basline
66* @param N the number of pretrigger samples used to calculate the baseline.
67**/
68void
69AliHLTPHOSRawAnalyzer::BaselineCorrection(double * /*dataPtr*/, int /*N*/)
70{
71
72} //end BaselineCorrection
73
74
75/**
76* Shifts the baseline with the amount given by baselineValue
77* If pretrigger samples are not present then the basline correction will be incorrect.
78* @param dataPtr array for wich to correct the basline
79* @param baselineValue the basline value to subtract..
80**/
81void
82AliHLTPHOSRawAnalyzer::BaselineCorrection(double * /*dataPtr*/, double baselineValue)
83{
84
85} //end BaslineCorrection
86
87
88/**
89 * Gives the timing in entities of sample indexes
90 * Physical time is found by multiplying with the sampling intervall (Ts).
91 **/
92float
93AliHLTPHOSRawAnalyzer::GetTiming() const
94{
95 return fDTof;
96} //end GetTiming
97
98
99/**
100 * Gives the time in entities of ADC channels (quantization levels).
101 * Absolute enrgy is found by multiplying with offline calibration constants.
102 **/
103float
104AliHLTPHOSRawAnalyzer::GetEnergy() const
105{
106 return fDAmpl;
107} //end GetEnergy
108
109
110/**
111 * Set data array. Overrides data data array set in the constructor.
112 **/
113void
114AliHLTPHOSRawAnalyzer::SetData(const UInt_t *data)
115{
116 fIntDataPtr = data;
117}
118
119/**
120 * Set data array. Overrides data data array set in the constructor.
121 **/
122void
123AliHLTPHOSRawAnalyzer::SetData(const double *data)
124{
125 fFloatDataPtr = data;
126}
127
128
129
130void
131AliHLTPHOSRawAnalyzer::SetSampleFreq(double freq)
132{
133 fSampleFrequency = freq;
134}
135
136int
137AliHLTPHOSRawAnalyzer::FindStartIndex(double /*treshold*/)
138{
139 // cout << "Find Start index not yet implemented" << endl;
140 return 0;
141} //end FindStartIndex
142
143
144/**
145 * This function applies only to the Chi and Least mean square fit. An initial guess is made
146 * based on the average of the first 5 samples and the first value exeeding this value.
147 **/
148void
149AliHLTPHOSRawAnalyzer::MakeInitialGuess()
150{
151 // cout << "Make initial guess not yet implemeted" << endl;
152}
153
154
155/**
156 * This function applies only to the Chi and Least mean square fit. An initial guess is made
157 * based on the average of the first 5 samples and the first value exeeding threshold + this value.
158 * @param treshold The index of the first value above treshold is ntaken to be the first value.
159 **/
160void
161AliHLTPHOSRawAnalyzer::MakeInitialGuess(int /*treshold*/)
162{
163 // cout << "Make initial guess not yet implemeted" << endl;
164}
165
166
167void
168AliHLTPHOSRawAnalyzer::SetStartIndex(int index)
169{
170 fStartIndex = index;
171}
172
173
174
175void
176AliHLTPHOSRawAnalyzer::SetTVector(Double_t * /*tVector*/, Int_t /*size*/)
177{
178 // cout <<"ERROR: AliHLTPHOSRawAnalyzer::SetTVector: You cannot set the peakfindervector here, must be set in derived class peakfinder"<<endl;
179}
180
181
182
183void
184AliHLTPHOSRawAnalyzer::SetAVector(Double_t * /*aVector*/, Int_t /*size*/)
185{
186 // cout <<"ERROR: AliHLTPHOSRawAnalyzer::SetAVector: You cannot set the peakfindervector here, must be set in derived class peakfinder"<<endl;
187}
188
189