+// $Id$
+
/**************************************************************************
* Copyright(c) 2006, ALICE Experiment at CERN, All rights reserved. *
* *
**************************************************************************/
#include "AliHLTPHOSRawAnalyzerCrude.h"
-#include <iostream>
-
-using std::cout;
-using std::endl;
-
-ClassImp(AliHLTPHOSRawAnalyzerCrude)
+//ClassImp(AliHLTPHOSRawAnalyzerCrude)
-AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude(const AliHLTPHOSRawAnalyzerCrude&):AliHLTPHOSRawAnalyzer()
-{
-
-}
/**
* The AliHLTPHOSPeakfinder class is the class for extracting the basic signal parameters
* a sequense of ADC digitized 10 bit integer values, however for performance reasons all values used in
* calculation is of type double.
**/
+//____________________________________________________________________________
AliHLTPHOSRawAnalyzerCrude::AliHLTPHOSRawAnalyzerCrude():AliHLTPHOSRawAnalyzer()
{
}
-
+//____________________________________________________________________________
AliHLTPHOSRawAnalyzerCrude::~AliHLTPHOSRawAnalyzerCrude()
{
} //end AliHLTPHOSRawAnalyzerCrude
-
/**
* Extraction of timing and energy using Crude estimate.
* The. The parameters "start" and "length" defines a sub array of the data array
* that will be used for the the fit. If start+length must not exeed the total length
* of the Data array. "start" must be chosen as close as possible to t0.
-* The baseline must also be subtracted.
-* The length of "tVector" and "aVector" mus be equal to length.
+* The baseline must also be subtracted. .
* "index + length" must not exeed the length of the data array set in the constructor.
* @param start the start index of the subarray of the data array.
* @param length the number of samples to use starting from index
-* @param tVector the peakfinder vector for timing
-* @param aVector the peakfinder vector for amplitude (energy)
**/
+// //____________________________________________________________________________
+// void
+// AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
+// {
+// double tmpAmplitudeMax =0;
+// double tmpTime = 0;
+
+// for(int i=start; i<length; i++)
+// {
+// if(fIntDataPtr[i] > tmpAmplitudeMax && i > 5)
+// {
+// tmpAmplitudeMax = fIntDataPtr[i];
+// tmpTime = i;
+// }
+// }
+
+// fDAmpl = tmpAmplitudeMax;
+// fDTof = tmpTime;
+
+// //thats all
+// } //end Crude
+
+
void
AliHLTPHOSRawAnalyzerCrude::Evaluate(int start, int length)
{
+ // cout << "AliHLTPHOSRawAnalyzerCrude::Evaluate TP0" << endl;
+
+ //DumpData(T
+
+ // DumpData(fDoubleDataPtr,50, 25);
+
+ if(fUseShortValues == true)
+ {
+ EvaluateShort(start, length);
+ }
+ else
+ {
+
+ double tmpAmplitudeMax =0;
+ double tmpTime = 0;
+
+ for(int i=start; i<length; i++)
+ {
+ // if(fDoubleDataPtr[i] > tmpAmplitudeMax && i > 5)
+ if(fIntDataPtr[i] > tmpAmplitudeMax && i > 5)
+ {
+ // tmpAmplitudeMax = fDoubleDataPtr[i];
+ tmpAmplitudeMax = fIntDataPtr[i];
+ tmpTime = i;
+ }
+ }
+
+ fDAmpl = tmpAmplitudeMax;
+ fDTof = tmpTime;
+ }
+
+ //thats all
+} //end Crude
+
+void
+AliHLTPHOSRawAnalyzerCrude::EvaluateShort(int start, int length)
+{
+ // cout << "AliHLTPHOSRawAnalyzerCrude::Evaluate TP0" << endl;
+
+ //DumpData(T
+
+ // DumpData(fDoubleDataPtr,50, 25);
+
double tmpAmplitudeMax =0;
double tmpTime = 0;
for(int i=start; i<length; i++)
{
- if(fFloatDataPtr[i] > tmpAmplitudeMax)
+ cout << "sample index: " << i << endl;
+ // if(fDoubleDataPtr[i] > tmpAmplitudeMax && i > 5)
+ if(fShortDataPtr[i] > tmpAmplitudeMax && i > 5)
{
- tmpAmplitudeMax = fFloatDataPtr[i];
+ // tmpAmplitudeMax = fDoubleDataPtr[i];
+ tmpAmplitudeMax = fShortDataPtr[i];
tmpTime = i;
}
}
-
+
+
fDAmpl = tmpAmplitudeMax;
fDTof = tmpTime;
//thats all
} //end Crude
-
-