]>
Commit | Line | Data |
---|---|---|
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 | |
25 | struct AliHLTPHOSClusterDataStruct; | |
26 | struct AliHLTPHOSRecPointDataStruct; | |
27 | struct AliHLTPHOSValidCellDataStruct; | |
28 | struct AliHLTPHOSRecPointListDataStruct; | |
29 | struct AliHLTPHOSRcuCellEnergyDataStruct; | |
aac22523 | 30 | |
d2b84453 | 31 | //class AliHLTPHOSClusterizer: public AliHLTPHOSProcessor |
9c9d15d6 | 32 | |
d2b84453 | 33 | class 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 |