]>
Commit | Line | Data |
---|---|---|
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 */ | |
5 | ||
6 | // $Id$ | |
7 | ||
8 | #include <math.h> | |
9 | ||
10 | #include "TObjArray.h" | |
11 | #include "TString.h" | |
12 | ||
13 | #include "AliCalmodule.h" | |
14 | #include "AliMath.h" | |
15 | ||
16 | class AliCalcluster : public AliSignal | |
17 | { | |
18 | public: | |
19 | AliCalcluster(); // Default constructor, all data initialised to 0 | |
20 | virtual ~AliCalcluster(); // Default destructor | |
21 | AliCalcluster(const AliCalcluster& c); // Copy constructor | |
22 | AliCalcluster(AliCalmodule& m); // Create new cluster starting at module m | |
23 | Int_t GetRow() const; // Return row number of cluster center | |
24 | Int_t GetColumn() const; // Return column number of cluster center | |
25 | Int_t GetNmodules() const; // Return number of modules in cluster | |
26 | Float_t GetRowDispersion() const; // Return normalised row dispersion of cluster | |
27 | Float_t GetColumnDispersion() const; // Return normalised column dispersion of cluster | |
28 | void Start(AliCalmodule& m); // Reset cluster data to start with module m | |
29 | void Add(AliCalmodule& m); // Add module data to cluster | |
30 | void AddVetoSignal(AliSignal& s,Int_t extr=1); // Associate (extrapolated) signal | |
31 | void AddVetoSignal(AliSignal* s,Int_t extr=1) { AddVetoSignal(*s,extr); } | |
32 | AliSignal* GetVetoSignal(Int_t j) const; // Access to veto signal number j | |
33 | Int_t GetNvetos() const; // Provide the number of veto signals | |
34 | Float_t GetVetoLevel() const; // Provide confidence level of best associated veto hit | |
35 | Int_t HasVetoHit(Double_t cl) const; // Check for ass. veto hit with conf. level > cl | |
36 | ||
37 | protected: | |
38 | Int_t fRow; // Row index of the central module of the cluster | |
39 | Int_t fCol; // Column index of the central module of the cluster | |
40 | Int_t fNmods; // The number of modules in the cluster | |
41 | Float_t fRowdisp; // Row dispersion of cluster (not normalised) | |
42 | Float_t fColdisp; // Column dispersion of cluster (not normalised) | |
43 | Int_t fNvetos; // The number of associated veto signals | |
44 | TObjArray* fVetos; // The array of associated veto signals | |
45 | ||
46 | ClassDef(AliCalcluster,5) // Description of a cluster of calorimeter modules. | |
47 | }; | |
48 | #endif |