]>
Commit | Line | Data |
---|---|---|
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: AliEMCALCellInfo.h 24500 2008-03-13 23:39:38Z jklay $ */ | |
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 | //*-- Authors: Aleksei Pavlinov (WSU) | |
14 | #include <TNamed.h> | |
15 | ||
16 | // Aug 1, 2007; Corr. Sep 05 | |
17 | // cellInfo -> AliEMCALCellIndexes - Oct 15, 2007 | |
18 | ||
19 | class AliEMCALCellIndexes : public TObject { | |
20 | // See AliEMCALGeometry | |
21 | // Indexes information | |
22 | friend class AliEMCALCellInfo; | |
23 | friend class AliEMCALPi0Calibration; | |
24 | public: | |
25 | virtual const char* GetName() const {return Form("Ind%5.5i",fAbsId);} | |
26 | AliEMCALCellIndexes(); | |
27 | virtual ~AliEMCALCellIndexes() {}; | |
28 | ||
29 | protected: | |
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 | |
43 | }; | |
44 | ||
45 | class AliEMCALGeometry; | |
46 | class TObjArray; | |
47 | ||
48 | class AliEMCALCellInfo : public TNamed { | |
49 | public: | |
50 | AliEMCALCellInfo(); // default constractor | |
51 | AliEMCALCellInfo(const AliEMCALCellInfo& info); //copy constructor | |
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 | // | |
61 | void AddAt(AliEMCALCellIndexes* r); | |
62 | AliEMCALCellIndexes* GetTable(Int_t i) const; | |
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: | |
70 | TObjArray *fTable; // Array of AliEMCALCellIndexes | |
71 | Int_t fCurrentInd; // Current index | |
72 | ||
73 | ClassDef(AliEMCALCellInfo,2) // Table of emcal indexes | |
74 | }; | |
75 | ||
76 | #endif // ALIEMCALCELLINFO_H |