]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - RALICE/AliCalcluster.h
This commit was generated by cvs2svn to compensate for changes in r165,
[u/mrichter/AliRoot.git] / RALICE / AliCalcluster.h
diff --git a/RALICE/AliCalcluster.h b/RALICE/AliCalcluster.h
new file mode 100644 (file)
index 0000000..c891b69
--- /dev/null
@@ -0,0 +1,56 @@
+#ifndef ALICALCLUSTER_H
+#define ALICALCLUSTER_H
+///////////////////////////////////////////////////////////////////////////
+// Class AliCalcluster
+// Description of a cluster of calorimeter modules.
+// A matrix geometry is assumed in which a cluster center
+// is identified by (row,col) and contains sig as signal
+// being the signal of the complete cluster.
+// Some info about cluster topology is provided in order
+// to enable EM or hadronic cluster identification
+//
+//--- NvE 13-jun-1997 UU-SAP Utrecht
+///////////////////////////////////////////////////////////////////////////
+#include <iostream.h>
+#include <math.h>
+#include "TObject.h"
+#include "TObjArray.h"
+#include "TString.h"
+#include "AliCalmodule.h"
+class AliCalcluster : public TObject,public AliPosition
+{
+ public:
+  AliCalcluster();                   // Default constructor, all data initialised to 0
+  ~AliCalcluster();                  // Default destructor
+  AliCalcluster(AliCalmodule& m);    // Create new cluster starting at module m
+  Int_t GetRow();                    // Return row number of cluster center
+  Int_t GetColumn();                 // Return column number of cluster center
+  Float_t GetSignal(Int_t n=0);      // Return signal of nxn matrix around the center
+  Int_t GetNmodules();               // Return number of modules in cluster
+  Float_t GetRowDispersion();        // Return normalised row dispersion of cluster
+  Float_t GetColumnDispersion();     // Return normalised column dispersion of cluster
+  void Start(AliCalmodule& m);       // Reset cluster data to start with module m
+  void Add(AliCalmodule& m);         // Add module data to cluster
+  void AddVetoSignal(Float_t* r,TString f,Float_t s=0); // Associate (extrapolated) signal
+  AliSignal* GetVetoSignal(Int_t j); // Access to veto signal number j
+  Int_t GetNvetos();                 // Provide the number of veto signals
+ protected:
+  AliCalmodule* fCenter; // Pointer to the central module of the cluster
+  Float_t fSig;          // The total signal value of the cluster
+  Int_t fNmods;          // The number of modules in the cluster
+  Float_t fSig11;        // Cluster signal of the central module
+  Float_t fSig33;        // Cluster signal in 3x3 matrix around the center
+  Float_t fSig55;        // Cluster signal in 5x5 matrix around the center
+  Float_t fRowdisp;      // Row dispersion of cluster (not normalised)
+  Float_t fColdisp;      // Column dispersion of cluster (not normalised)
+  Int_t fNvetos;         // The number of associated veto signals
+  TObjArray* fVetos;     // The array of associated veto signals
+ ClassDef(AliCalcluster,1) // Class definition to enable ROOT I/O
+};
+#endif