]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/PHOS/AliHLTPHOSClusterizer.h
Changed the data format to pass to the Make methods
[u/mrichter/AliRoot.git] / HLT / PHOS / AliHLTPHOSClusterizer.h
CommitLineData
aac22523 1/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
6e709a0d 3
aac22523 4/** @file AliHLTPHOSClusterizer.h
2ef3c547 5 @author Ã\98ystein Djuvsland
aac22523 6 @date
7 @brief A temporary clusterizer for PHOS
8*/
9
2ef3c547 10
91b95d47 11#ifndef ALIHLTPHOSCLUSTERIZER_H
12#define ALIHLTPHOSCLUSTERIZER_H
aac22523 13
2ef3c547 14
9c9d15d6 15
16//#include "AliHLTPHOSProcessor.h"
d2b84453 17#include "AliHLTPHOSBase.h"
18
19
20//#include "AliHLTPHOSCommonDefs.h"
21//#include "AliHLTPHOSConstants.h"
22
23//using namespace PhosHLTConst;
91b95d47 24
25struct AliHLTPHOSClusterDataStruct;
26struct AliHLTPHOSRecPointDataStruct;
27struct AliHLTPHOSValidCellDataStruct;
28struct AliHLTPHOSRecPointListDataStruct;
29struct AliHLTPHOSRcuCellEnergyDataStruct;
aac22523 30
d2b84453 31//class AliHLTPHOSClusterizer: public AliHLTPHOSProcessor
9c9d15d6 32
d2b84453 33class AliHLTPHOSClusterizer: public AliHLTPHOSBase
aac22523 34{
35
91b95d47 36 public:
aac22523 37
38 AliHLTPHOSClusterizer();
39 virtual ~AliHLTPHOSClusterizer();
9c9d15d6 40 // AliHLTPHOSClusterizer(const AliHLTPHOSClusterizer &);
41 //AliHLTPHOSClusterizer & operator = (const AliHLTPHOSClusterizer &) {return *this;}
aac22523 42
6e709a0d 43 void SetThreshold(float threshold) {fThreshold = threshold;}
44 void SetClusterThreshold(float clusterThreshold) {fClusterThreshold = clusterThreshold;}
aac22523 45
6e709a0d 46 void SetHighGainFactor(float highGain) {fHighGainFactor = highGain;}
47 void SetLowGainFactor(float lowGain) {fLowGainFactor = lowGain;}
48 void SetArraySize(int size)
aac22523 49 {
50 fArraySize = size;
51 fMultiplicity = fArraySize * fArraySize;
52 }
6e709a0d 53 float GetThreshold() {return fThreshold;}
54 float GetClusterThreshold() {return fClusterThreshold;}
55 float GetHighGainFactor() {return fHighGainFactor;}
56 float GetLowGainFactor() {return fLowGainFactor;}
57 float GetArraySize() {return fArraySize;}
58 float GetMultiplicity() {return fMultiplicity;}
aac22523 59
6e709a0d 60 int BuildCellEnergyArray(AliHLTPHOSRcuCellEnergyDataStruct *structPtr, AliHLTPHOSRecPointListDataStruct* recPointList);
61 int CreateRecPointStructArray(AliHLTPHOSRecPointDataStruct* rectStructsPtr, AliHLTPHOSRecPointListDataStruct* list, int nPoints);
62 int CalculateCenterOfGravity(AliHLTPHOSRecPointDataStruct* recPointPtr);
63 int CalculateMoments(AliHLTPHOSRecPointDataStruct* recPointPtr, Bool_t axisOnly);
64 int ClusterizeStruct(AliHLTPHOSRecPointDataStruct* recArrayPtr, AliHLTPHOSClusterDataStruct* clusterArrayPtr);
65 int ResetCellEnergyArray();
aac22523 66
67
68 private:
69
aac22523 70 AliHLTUInt8_t fPHOSModule; /**<Number of the PHOSModule*/
442af5b7 71 Float_t fEnergyArray[N_XCOLUMNS_MOD][N_ZROWS_MOD]; /**<2D array of cell energies*/
aac22523 72 Float_t fThreshold; /**<Energy threshold*/
73 Float_t fClusterThreshold; /**<Cluster threshold*/
91b95d47 74 Float_t fHighGainFactor; /**<High gain factor*/
75 Float_t fLowGainFactor; /**<Low gain factor*/
aac22523 76 Int_t fArraySize; /**<Size of the array which the energies are summed*/
77 Int_t fMultiplicity; /**<Number of crystals the energies are summed for*/
78
79 ClassDef(AliHLTPHOSClusterizer, 1);
80};
81
82#endif