#ifndef ALIEMCALCELLINFO_H #define ALIEMCALCELLINFO_H /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. * * See cxx source for full Copyright notice */ /* $Id$ */ //_________________________________________________________________________ // This is a table of emcal indexes. // Simplify a work with cell indexes // Initial version was created with TTable staff // //*-- Authors: Aleksei Pavlinov (WSU) #include // Aug 1, 2007; Corr. Sep 05 // cellInfo -> AliEMCALCellIndexes - Oct 15, 2007 class AliEMCALCellIndexes : public TObject { // See AliEMCALGeometry // Indexes information friend class AliEMCALCellInfo; friend class AliEMCALRecPointsQaESDSelector; public: virtual const char* GetName() const {return Form("Ind%5.5i",fAbsId);} AliEMCALCellIndexes(); virtual ~AliEMCALCellIndexes() {}; protected: Int_t fAbsId; // abs id of cell as in Geant // Geant numbering tree - see AliEMCALv2 Int_t fNSupMod; // index of super module (SM) Int_t fNModule; // index of module in SM Int_t fNIphi; // phi index of tower(cell) in module Int_t fNIeta; // eta index of tower(cell) in module // Inside SM - used in cluster finder Int_t fIPhi; // phi index of tower(cell) in SM Int_t fIEta; // eta index of tower(cell) in SM Int_t fIPhim; // phi index of module in SM Int_t fIEtam; // eta index of module in SM // Coordinate information should be include too ?? ClassDef(AliEMCALCellIndexes,2) // Cell indexes information }; class AliEMCALGeometry; class TObjArray; class AliEMCALCellInfo : public TNamed { public: AliEMCALCellInfo(); // default constractor AliEMCALCellInfo(const AliEMCALCellInfo& info); //copy constructor AliEMCALCellInfo(const char* name, const Int_t nrow); virtual ~AliEMCALCellInfo(); AliEMCALCellInfo & operator = (const AliEMCALCellInfo & /*rvalue*/) { // assignement operator requested by coding convention but not needed Fatal("operator =", "not implemented"); return *this; }; // void AddAt(AliEMCALCellIndexes* r); AliEMCALCellIndexes* GetTable(Int_t i) const; void PrintTable(int ind1=-1, int ind2=-1) const; //*MENU* static AliEMCALCellInfo *GetTableForGeometry(const char* geoName); static AliEMCALCellInfo *GetTableForGeometry(AliEMCALGeometry *g); // protected: TObjArray *fTable; // Array of AliEMCALCellIndexes Int_t fCurrentInd; // Current index ClassDef(AliEMCALCellInfo,2) // Table of emcal indexes }; #endif // ALIEMCALCELLINFO_H