]>
Commit | Line | Data |
---|---|---|
d88f97cc | 1 | #ifndef ALICALCLUSTER_H |
2 | #define ALICALCLUSTER_H | |
3da30618 | 3 | /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. * |
4 | * See cxx source for full Copyright notice */ | |
5 | ||
f531a546 | 6 | // $Id$ |
3da30618 | 7 | |
9f8f3e10 | 8 | #include "Riostream.h" |
d88f97cc | 9 | #include <math.h> |
10 | ||
11 | #include "TObject.h" | |
12 | #include "TObjArray.h" | |
13 | #include "TString.h" | |
14 | ||
15 | #include "AliCalmodule.h" | |
8e8e6c7f | 16 | #include "AliMath.h" |
d88f97cc | 17 | |
18 | class AliCalcluster : public TObject,public AliPosition | |
19 | { | |
20 | public: | |
21 | AliCalcluster(); // Default constructor, all data initialised to 0 | |
22 | ~AliCalcluster(); // Default destructor | |
23 | AliCalcluster(AliCalmodule& m); // Create new cluster starting at module m | |
24 | Int_t GetRow(); // Return row number of cluster center | |
25 | Int_t GetColumn(); // Return column number of cluster center | |
26 | Float_t GetSignal(Int_t n=0); // Return signal of nxn matrix around the center | |
27 | Int_t GetNmodules(); // Return number of modules in cluster | |
28 | Float_t GetRowDispersion(); // Return normalised row dispersion of cluster | |
29 | Float_t GetColumnDispersion(); // Return normalised column dispersion of cluster | |
30 | void Start(AliCalmodule& m); // Reset cluster data to start with module m | |
31 | void Add(AliCalmodule& m); // Add module data to cluster | |
8e8e6c7f | 32 | void AddVetoSignal(AliSignal& s,Int_t extr=1); // Associate (extrapolated) signal |
33 | void AddVetoSignal(AliSignal* s,Int_t extr=1) { AddVetoSignal(*s,extr); } | |
d88f97cc | 34 | AliSignal* GetVetoSignal(Int_t j); // Access to veto signal number j |
35 | Int_t GetNvetos(); // Provide the number of veto signals | |
959fbac5 | 36 | Float_t GetVetoLevel(); // Provide confidence level of best associated veto hit |
37 | Int_t HasVetoHit(Double_t cl); // Check for ass. veto hit with conf. level > cl | |
d88f97cc | 38 | |
39 | protected: | |
40 | AliCalmodule* fCenter; // Pointer to the central module of the cluster | |
41 | Float_t fSig; // The total signal value of the cluster | |
42 | Int_t fNmods; // The number of modules in the cluster | |
43 | Float_t fSig11; // Cluster signal of the central module | |
44 | Float_t fSig33; // Cluster signal in 3x3 matrix around the center | |
45 | Float_t fSig55; // Cluster signal in 5x5 matrix around the center | |
46 | Float_t fRowdisp; // Row dispersion of cluster (not normalised) | |
47 | Float_t fColdisp; // Column dispersion of cluster (not normalised) | |
48 | Int_t fNvetos; // The number of associated veto signals | |
49 | TObjArray* fVetos; // The array of associated veto signals | |
50 | ||
8e8e6c7f | 51 | ClassDef(AliCalcluster,2) // Description of a cluster of calorimeter modules. |
d88f97cc | 52 | }; |
53 | #endif |