1 #ifndef ALICALCLUSTER_H
2 #define ALICALCLUSTER_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
8 ///////////////////////////////////////////////////////////////////////////
10 // Description of a cluster of calorimeter modules.
11 // A matrix geometry is assumed in which a cluster center
12 // is identified by (row,col) and contains sig as signal
13 // being the signal of the complete cluster.
14 // Some info about cluster topology is provided in order
15 // to enable EM or hadronic cluster identification
17 //--- NvE 13-jun-1997 UU-SAP Utrecht
18 ///////////////////////////////////////////////////////////////////////////
24 #include "TObjArray.h"
27 #include "AliCalmodule.h"
29 class AliCalcluster : public TObject,public AliPosition
32 AliCalcluster(); // Default constructor, all data initialised to 0
33 ~AliCalcluster(); // Default destructor
34 AliCalcluster(AliCalmodule& m); // Create new cluster starting at module m
35 Int_t GetRow(); // Return row number of cluster center
36 Int_t GetColumn(); // Return column number of cluster center
37 Float_t GetSignal(Int_t n=0); // Return signal of nxn matrix around the center
38 Int_t GetNmodules(); // Return number of modules in cluster
39 Float_t GetRowDispersion(); // Return normalised row dispersion of cluster
40 Float_t GetColumnDispersion(); // Return normalised column dispersion of cluster
41 void Start(AliCalmodule& m); // Reset cluster data to start with module m
42 void Add(AliCalmodule& m); // Add module data to cluster
43 void AddVetoSignal(Float_t* r,TString f,Float_t s=0); // Associate (extrapolated) signal
44 AliSignal* GetVetoSignal(Int_t j); // Access to veto signal number j
45 Int_t GetNvetos(); // Provide the number of veto signals
48 AliCalmodule* fCenter; // Pointer to the central module of the cluster
49 Float_t fSig; // The total signal value of the cluster
50 Int_t fNmods; // The number of modules in the cluster
51 Float_t fSig11; // Cluster signal of the central module
52 Float_t fSig33; // Cluster signal in 3x3 matrix around the center
53 Float_t fSig55; // Cluster signal in 5x5 matrix around the center
54 Float_t fRowdisp; // Row dispersion of cluster (not normalised)
55 Float_t fColdisp; // Column dispersion of cluster (not normalised)
56 Int_t fNvetos; // The number of associated veto signals
57 TObjArray* fVetos; // The array of associated veto signals
59 ClassDef(AliCalcluster,1) // Class definition to enable ROOT I/O