08-feb-2003 NvE Class AliSignal modified such that the maximum number of signal slots is
[u/mrichter/AliRoot.git] / RALICE / AliCalcluster.h
CommitLineData
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
d88f97cc 11#include "TObjArray.h"
12#include "TString.h"
13
14#include "AliCalmodule.h"
8e8e6c7f 15#include "AliMath.h"
d88f97cc 16
dafe31a2 17class AliCalcluster : public AliSignal
d88f97cc 18{
19 public:
20 AliCalcluster(); // Default constructor, all data initialised to 0
21 ~AliCalcluster(); // Default destructor
22 AliCalcluster(AliCalmodule& m); // Create new cluster starting at module m
23 Int_t GetRow(); // Return row number of cluster center
24 Int_t GetColumn(); // Return column number of cluster center
d88f97cc 25 Int_t GetNmodules(); // Return number of modules in cluster
26 Float_t GetRowDispersion(); // Return normalised row dispersion of cluster
27 Float_t GetColumnDispersion(); // 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
8e8e6c7f 30 void AddVetoSignal(AliSignal& s,Int_t extr=1); // Associate (extrapolated) signal
31 void AddVetoSignal(AliSignal* s,Int_t extr=1) { AddVetoSignal(*s,extr); }
d88f97cc 32 AliSignal* GetVetoSignal(Int_t j); // Access to veto signal number j
33 Int_t GetNvetos(); // Provide the number of veto signals
959fbac5 34 Float_t GetVetoLevel(); // Provide confidence level of best associated veto hit
35 Int_t HasVetoHit(Double_t cl); // Check for ass. veto hit with conf. level > cl
d88f97cc 36
37 protected:
38 AliCalmodule* fCenter; // Pointer to the central module of the cluster
d88f97cc 39 Int_t fNmods; // The number of modules in the cluster
d88f97cc 40 Float_t fRowdisp; // Row dispersion of cluster (not normalised)
41 Float_t fColdisp; // Column dispersion of cluster (not normalised)
42 Int_t fNvetos; // The number of associated veto signals
43 TObjArray* fVetos; // The array of associated veto signals
44
dafe31a2 45 ClassDef(AliCalcluster,3) // Description of a cluster of calorimeter modules.
d88f97cc 46};
47#endif