04-apr-2004 NvE SetMass() invoked from AliTrack::Set3Momentum to get also the energy...
[u/mrichter/AliRoot.git] / RALICE / AliCalcluster.h
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