changing to AMANDA protocol version 2
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALCellInfo.h
CommitLineData
46b250ae 1#ifndef ALIEMCALCELLINFO_H
2#define ALIEMCALCELLINFO_H
3/* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6/* $Id$ */
7
8//_________________________________________________________________________
9// This is a table of emcal indexes.
10// Simplify a work with cell indexes
11// Initial version was created with TTable staff
12//
13
14//*-- Authors: Aleksei Pavlinov (WSU)
15#include <TNamed.h>
16
17// Aug 1, 2007; Corr. Sep 05
18class cellInfo : public TObject {
19 // See AliEMCALGeometry
20 // Indexes information
21 public:
22 virtual const char* GetName() const {return Form("Ind%5.5i",absId);}
23 cellInfo();
24 virtual ~cellInfo() {};
25
26 Int_t absId; // abs id of cell as in Geant
27 // Geant numbering tree - see AliEMCALv2
28 Int_t nSupMod; // index of super module (SM)
29 Int_t nModule; // index of module in SM
30 Int_t nIphi; // phi index of tower(cell) in module
31 Int_t nIeta; // eta index of tower(cell) in module
32 // Inside SM - ised in cluster finder
33 Int_t iPhi; // phi index of tower(cell) in SM
34 Int_t iEta; // eta index of tower(cell) in SM
35 Int_t iPhim; // phi index of module in SM
36 Int_t iEtam; // eta index of module in SM
37 // Coordinate information should be include too ??
38 ClassDef(cellInfo,1) // Cell indexes information
39};
40
41class AliEMCALGeometry;
42class TObjArray;
43
44class AliEMCALCellInfo : public TNamed {
45 public:
46 AliEMCALCellInfo(); // default constractor
47 AliEMCALCellInfo(const char* name, const Int_t nrow);
48 virtual ~AliEMCALCellInfo();
49
50 AliEMCALCellInfo & operator = (const AliEMCALCellInfo & /*rvalue*/) {
51 // assignement operator requested by coding convention but not needed
52 Fatal("operator =", "not implemented");
53 return *this;
54 };
55 //
56 void AddAt(cellInfo* r);
57 cellInfo* GetTable(Int_t i) const;
58
59 void PrintTable(int ind1=-1, int ind2=-1) const; //*MENU*
60
61 static AliEMCALCellInfo *GetTableForGeometry(const char* geoName);
62 static AliEMCALCellInfo *GetTableForGeometry(AliEMCALGeometry *g);
63 //
64 protected:
65 TObjArray *fTable;
66 Int_t fCurrentInd;
67
68 ClassDef(AliEMCALCellInfo,2) // Table of emcal indexes
69};
70
71#endif // ALIEMCALCELLINFO_H