]>
Commit | Line | Data |
---|---|---|
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 | ||
6e6f8407 | 6 | /* $Id: AliEMCALCellInfo.h 24500 2008-03-13 23:39:38Z jklay $ */ |
46b250ae | 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 | // | |
46b250ae | 13 | //*-- Authors: Aleksei Pavlinov (WSU) |
14 | #include <TNamed.h> | |
15 | ||
16 | // Aug 1, 2007; Corr. Sep 05 | |
b217491f | 17 | // cellInfo -> AliEMCALCellIndexes - Oct 15, 2007 |
6f377f0c | 18 | |
b217491f | 19 | class AliEMCALCellIndexes : public TObject { |
46b250ae | 20 | // See AliEMCALGeometry |
21 | // Indexes information | |
b217491f | 22 | friend class AliEMCALCellInfo; |
6e6f8407 | 23 | friend class AliEMCALPi0Calibration; |
46b250ae | 24 | public: |
b217491f | 25 | virtual const char* GetName() const {return Form("Ind%5.5i",fAbsId);} |
26 | AliEMCALCellIndexes(); | |
27 | virtual ~AliEMCALCellIndexes() {}; | |
46b250ae | 28 | |
b217491f | 29 | protected: |
30 | Int_t fAbsId; // abs id of cell as in Geant | |
46b250ae | 31 | // Geant numbering tree - see AliEMCALv2 |
b217491f | 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 | |
46b250ae | 41 | // Coordinate information should be include too ?? |
b217491f | 42 | ClassDef(AliEMCALCellIndexes,2) // Cell indexes information |
46b250ae | 43 | }; |
44 | ||
45 | class AliEMCALGeometry; | |
46 | class TObjArray; | |
47 | ||
48 | class AliEMCALCellInfo : public TNamed { | |
49 | public: | |
50 | AliEMCALCellInfo(); // default constractor | |
6f377f0c | 51 | AliEMCALCellInfo(const AliEMCALCellInfo& info); //copy constructor |
46b250ae | 52 | AliEMCALCellInfo(const char* name, const Int_t nrow); |
53 | virtual ~AliEMCALCellInfo(); | |
54 | ||
55 | AliEMCALCellInfo & operator = (const AliEMCALCellInfo & /*rvalue*/) { | |
56 | // assignement operator requested by coding convention but not needed | |
57 | Fatal("operator =", "not implemented"); | |
58 | return *this; | |
59 | }; | |
60 | // | |
b217491f | 61 | void AddAt(AliEMCALCellIndexes* r); |
62 | AliEMCALCellIndexes* GetTable(Int_t i) const; | |
46b250ae | 63 | |
64 | void PrintTable(int ind1=-1, int ind2=-1) const; //*MENU* | |
65 | ||
66 | static AliEMCALCellInfo *GetTableForGeometry(const char* geoName); | |
67 | static AliEMCALCellInfo *GetTableForGeometry(AliEMCALGeometry *g); | |
68 | // | |
69 | protected: | |
b217491f | 70 | TObjArray *fTable; // Array of AliEMCALCellIndexes |
71 | Int_t fCurrentInd; // Current index | |
46b250ae | 72 | |
73 | ClassDef(AliEMCALCellInfo,2) // Table of emcal indexes | |
74 | }; | |
75 | ||
76 | #endif // ALIEMCALCELLINFO_H |