56 #include "StEEmcUtil/EEmcGeom/EEmcGeomDefs.h"
72 std::vector<TString> towers;
73 std::vector<Int_t> sector;
74 std::vector<Int_t> subsector;
75 std::vector<Int_t> etabin;
98 void getRangeU( Int_t sector,
102 Int_t &uMax )
const {
104 uMin = mSmdMap[sector][subsector][etabin].uMin;
105 uMax = mSmdMap[sector][subsector][etabin].uMax;
108 void getRangeV( Int_t sector,
112 Int_t &vMax )
const {
114 vMin = mSmdMap[sector][subsector][etabin].vMin;
115 vMax = mSmdMap[sector][subsector][etabin].vMax;
121 void getRangeTw2Smd ( Int_t sector,
128 case 0:
return getRangeU( sector, subsector, etabin, Min, Max);
129 case 1:
return getRangeV( sector, subsector, etabin, Min, Max);
130 default: {assert(2==3);}
135 void getRange ( Int_t sector,
141 getRangeTw2Smd (sector, subsector, etabin, iuv, Min, Max);
146 void getMiddleU ( Int_t sector,
149 Int_t &umid )
const {
151 mSmdMap[sector][subsector][etabin].uMin +
152 mSmdMap[sector][subsector][etabin].uMax ) / 2;
155 void getMiddleV ( Int_t sector,
158 Int_t &vmid )
const {
160 mSmdMap[sector][subsector][etabin].vMin +
161 mSmdMap[sector][subsector][etabin].vMax ) / 2;
176 void getRangeSmd2Smd( Int_t isector, Int_t iuv, Int_t istrip,
177 Int_t &juv, Int_t &jMin, Int_t &jMax )
const;
188 Int_t getNTowers( Int_t sec,
190 Int_t strip )
const {
191 return mTowerMap[sec][plane][strip].nTower;
197 void getTower( Int_t sec, Int_t plane, Int_t strip,
198 Int_t ntow, Int_t &sub, Int_t &eta )
const {
199 sub = mTowerMap[sec][plane][strip].subsector[ntow];
200 eta = mTowerMap[sec][plane][strip].etabin[ntow];
203 void getTower( Int_t sec, Int_t plane, Int_t strip,
204 Int_t ntow, Int_t &sub, Int_t &eta, TString &name )
const {
205 sub = mTowerMap[sec][plane][strip].subsector[ntow];
206 eta = mTowerMap[sec][plane][strip].etabin[ntow];
207 name = mTowerMap[sec][plane][strip].towers[ntow];
213 void InitStrip2Strip();
216 EEmcStripMapItem mSmdMap[ kEEmcNumSectors ][ kEEmcNumSubSectors ][ kEEmcNumEtas ];
217 EEmcTowerMapItem mTowerMap[ kEEmcNumSectors ][ kEEmcNumSmdUVs ][ kEEmcNumStrips ];