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 */
8 //_________________________________________________________________________
9 // This is a table of emcal indexes.
10 // Simplify a work with cell indexes
11 // Initial version was created with TTable staff
13 //*-- Authors: Aleksei Pavlinov (WSU)
16 // Aug 1, 2007; Corr. Sep 05
17 // cellInfo -> AliEMCALCellIndexes - Oct 15, 2007
19 class AliEMCALCellIndexes : public TObject {
20 // See AliEMCALGeometry
21 // Indexes information
22 friend class AliEMCALCellInfo;
23 friend class AliEMCALRecPointsQaESDSelector;
25 virtual const char* GetName() const {return Form("Ind%5.5i",fAbsId);}
26 AliEMCALCellIndexes();
27 virtual ~AliEMCALCellIndexes() {};
30 Int_t fAbsId; // abs id of cell as in Geant
31 // Geant numbering tree - see AliEMCALv2
32 Int_t fNSupMod; // index of super module (SM)
33 Int_t fNModule; // index of module in SM
34 Int_t fNIphi; // phi index of tower(cell) in module
35 Int_t fNIeta; // eta index of tower(cell) in module
36 // Inside SM - used in cluster finder
37 Int_t fIPhi; // phi index of tower(cell) in SM
38 Int_t fIEta; // eta index of tower(cell) in SM
39 Int_t fIPhim; // phi index of module in SM
40 Int_t fIEtam; // eta index of module in SM
41 // Coordinate information should be include too ??
42 ClassDef(AliEMCALCellIndexes,2) // Cell indexes information
45 class AliEMCALGeometry;
48 class AliEMCALCellInfo : public TNamed {
50 AliEMCALCellInfo(); // default constractor
51 AliEMCALCellInfo(const AliEMCALCellInfo& info); //copy constructor
52 AliEMCALCellInfo(const char* name, const Int_t nrow);
53 virtual ~AliEMCALCellInfo();
55 AliEMCALCellInfo & operator = (const AliEMCALCellInfo & /*rvalue*/) {
56 // assignement operator requested by coding convention but not needed
57 Fatal("operator =", "not implemented");
61 void AddAt(AliEMCALCellIndexes* r);
62 AliEMCALCellIndexes* GetTable(Int_t i) const;
64 void PrintTable(int ind1=-1, int ind2=-1) const; //*MENU*
66 static AliEMCALCellInfo *GetTableForGeometry(const char* geoName);
67 static AliEMCALCellInfo *GetTableForGeometry(AliEMCALGeometry *g);
70 TObjArray *fTable; // Array of AliEMCALCellIndexes
71 Int_t fCurrentInd; // Current index
73 ClassDef(AliEMCALCellInfo,2) // Table of emcal indexes
76 #endif // ALIEMCALCELLINFO_H