]> git.uio.no Git - u/mrichter/AliRoot.git/blob - EMCAL/AliEMCALClusterizerFixedWindow.h
ca81d955de3df9c2a5962b4c3a6c4b26c9db1874
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALClusterizerFixedWindow.h
1 #ifndef ALIEMCALCLUSTERIZERFIXEDWINDOW_H
2 #define ALIEMCALCLUSTERIZERFIXEDWINDOW_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id: AliEMCALClusterizerFixedWindows.h   */
8
9 //_________________________________________________________________________
10 // This class derives from AliEMCALClustrerizer
11
12 #include "AliEMCALClusterizer.h"
13
14 class AliEMCALRecPoint; 
15 class AliEMCALDigit;
16 class AliEMCALFixedWindowClusterInfo;
17
18 class AliEMCALClusterizerFixedWindow : public AliEMCALClusterizer {
19         
20 public:
21         
22         AliEMCALClusterizerFixedWindow() ;         
23         AliEMCALClusterizerFixedWindow(AliEMCALGeometry* geometry);
24         AliEMCALClusterizerFixedWindow(AliEMCALGeometry* geometry, AliEMCALCalibData * calib, AliCaloCalibPedestal * pedestal);
25         
26         virtual ~AliEMCALClusterizerFixedWindow();
27         
28         virtual void   Digits2Clusters(Option_t *option);                // Does the job
29         
30         virtual const char * Version() const { return "clu-FixedWindow" ; }  
31         
32         void SetnPhi (Int_t n) 
33   {
34     if (clusters_array)
35       AliWarning("Clusterizer already initialized. Unable to change the parameters.");
36     else
37       nPhi = n;
38   }
39   
40         void SetnEta (Int_t n) 
41   {
42     if (clusters_array)
43       AliWarning("Clusterizer already initialized. Unable to change the parameters.");
44     else
45       nEta = n;
46   }
47         
48         Int_t GetnPhi () {return nPhi;}
49         Int_t GetnEta () {return nEta;}
50   
51   void SetshiftPhi (Int_t s) 
52   {
53     if (clusters_array)
54       AliWarning("Clusterizer already initialized. Unable to change the parameters.");
55     else
56       shiftPhi = s;
57   }
58   
59   void SetshiftEta (Int_t s) 
60   {
61     if (clusters_array)
62       AliWarning("Clusterizer already initialized. Unable to change the parameters.");
63     else
64       shiftEta = s;
65   }
66   
67   Int_t GetshiftPhi () {return shiftPhi;}
68   Int_t GetshiftEta () {return shiftEta;}
69   
70   void SetTRUshift(Bool_t b) 
71   {
72     if (clusters_array)
73       AliWarning("Clusterizer already initialized. Unable to change the parameters.");
74     else
75       fTRUshift = b;
76   }
77   
78   Bool_t GetTRUshift() {return fTRUshift;}
79   
80   AliEMCALFixedWindowClusterInfo* GetClustersInfo() {return fClustersInfo;}
81   void SetClustersInfo(AliEMCALFixedWindowClusterInfo *ClusInfo) {fClustersInfo = ClusInfo;}
82
83 protected:
84         
85         virtual void   MakeClusters();            
86         
87 private:
88         AliEMCALClusterizerFixedWindow(const AliEMCALClusterizerFixedWindow &); //copy ctor
89         AliEMCALClusterizerFixedWindow & operator = (const AliEMCALClusterizerFixedWindow &);
90         
91   // nPhi x nEta clusterizer
92         // Those parameter could be changed to get other types of fixed windows.
93         Int_t                               nPhi;
94         Int_t                               nEta; 
95   Int_t                               shiftPhi;
96   Int_t                               shiftEta;
97   Bool_t                              fTRUshift;
98   AliEMCALFixedWindowClusterInfo    *fClustersInfo;
99   AliEMCALDigit                    ***clusters_array;
100         
101         ClassDef(AliEMCALClusterizerFixedWindow,4)   // Clusterizer implementation version 1
102 };
103
104 #endif // AliEMCALCLUSTERIZERFIXEDWINDOW_H