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 | |
9cc0deb1 |
14 | #include "AliHLTPHOSBase.h" |
15 | #include "AliHLTPHOSRecPointContainerStruct.h" |
16 | #include "AliHLTPHOSDigitContainerDataStruct.h" |
17 | #include "AliPHOSGeometry.h" |
18 | #include "TClonesArray.h" |
19 | #include "AliPHOSDigit.h" |
20 | #include "AliPHOSGetter.h" |
21 | #include "AliPHOSRecoParamEmc.h" |
2ef3c547 |
22 | |
9cc0deb1 |
23 | class AliHLTPHOSClusterizer : public AliHLTPHOSBase |
aac22523 |
24 | { |
25 | |
9cc0deb1 |
26 | public: |
27 | |
28 | AliHLTPHOSClusterizer(); |
aac22523 |
29 | |
aac22523 |
30 | virtual ~AliHLTPHOSClusterizer(); |
aac22523 |
31 | |
9cc0deb1 |
32 | AliHLTPHOSClusterizer(const AliHLTPHOSClusterizer &); |
33 | AliHLTPHOSClusterizer & operator = (const AliHLTPHOSClusterizer &) {return *this;} |
34 | |
35 | void SetRecPointContainer(AliHLTPHOSRecPointContainerStruct *RecPointContainerPtr) |
36 | { fRecPointContainerPtr = RecPointContainerPtr; } |
37 | |
38 | void SetRecoParameters(AliPHOSRecoParamEmc*); |
39 | |
40 | void SetEmcClusteringThreshold(Float_t threshold) { fEmcClusteringThreshold = threshold; } |
41 | void SetEmcMinEnergyThreshold(Float_t threshold) { fEmcMinEnergyThreshold = threshold; } |
42 | void SetEmcTimeGate(Float_t gate) { fEmcTimeGate = gate; } |
43 | void SetLogWeight(Float_t weight) { fLogWeight = weight; } |
44 | |
45 | void SetOfflineMode(AliPHOSGetter*); |
46 | |
47 | virtual Int_t ClusterizeEvent(); |
48 | virtual Int_t GetEvent(Int_t); |
aac22523 |
49 | |
9cc0deb1 |
50 | Int_t GetNEvents(); |
aac22523 |
51 | |
9cc0deb1 |
52 | virtual void ScanForNeighbourDigits(Int_t, AliHLTPHOSRecPointDataStruct*); |
53 | virtual Int_t AreNeighbours(AliHLTPHOSDigitDataStruct*, AliHLTPHOSDigitDataStruct*); |
54 | virtual void CalculateCenterOfGravity(); |
55 | |
56 | private: |
aac22523 |
57 | |
9cc0deb1 |
58 | Float_t fEmcClusteringThreshold; |
59 | Float_t fEmcMinEnergyThreshold; |
60 | Float_t fEmcTimeGate; |
61 | Float_t fLogWeight; |
62 | Int_t fDigitsInCluster; |
aac22523 |
63 | |
9cc0deb1 |
64 | Bool_t fOnlineMode; |
65 | |
66 | TClonesArray *fDigitArrayPtr; |
67 | TObjArray *fEmcRecPointsPtr; |
68 | AliPHOSDigit *fDigitPtr; |
aac22523 |
69 | |
9cc0deb1 |
70 | AliHLTPHOSDigitContainerDataStruct *fDigitContainerPtr; |
71 | AliHLTPHOSRecPointContainerStruct *fRecPointContainerPtr; |
72 | AliPHOSGeometry *fPHOSGeometry; |
73 | |
74 | AliPHOSGetter *fGetterPtr; |
75 | |
aac22523 |
76 | ClassDef(AliHLTPHOSClusterizer, 1); |
77 | }; |
78 | |
79 | #endif |