+ // ieta=0 or 1 - Jun 02, 2006
+ TVector2& GetCenterOfCellInLocalCoordinateofSM(Int_t ieta)
+ {
+ if(ieta<=0) return fOK2;
+ else return fOK1;
+ }
+ void GetCenterOfCellInLocalCoordinateofSM(Int_t ieta, Double_t &xr, Double_t &zr, Int_t pri=0) const
+ {
+ if(ieta<=0) {xr = fOK2.Y(); zr = fOK2.X();
+ } else {xr = fOK1.Y(); zr = fOK1.X();
+ }
+ if(pri>0) printf(" %s ieta %2.2i xr %8.4f zr %8.4f \n", GetName(), ieta, xr, zr);
+ }
+ void GetCenterOfCellInLocalCoordinateofSM3X3(Int_t ieta, Double_t &xr, Double_t &zr) const
+ { // 3X3 case - Nov 9,2006
+ if(ieta < 0) ieta = 0; //ieta = ieta<0? ieta=0 : ieta; // check index
+ if(ieta > 2) ieta = 2; //ieta = ieta>2? ieta=2 : ieta;
+ xr = fOK3X3[2-ieta].Y(); zr = fOK3X3[2-ieta].X();
+ }
+ void GetCenterOfCellInLocalCoordinateofSM1X1(Double_t &xr, Double_t &zr) const
+ { // 1X1 case - Nov 27,2006 // Center of cell is center of module
+ xr = fOK.Y() - fgr;
+ zr = fOK.X();
+ }
+ // 15-may-06
+ TVector2& GetCenterOfModuleFace() {return fOB;}
+ TVector2& GetCenterOfModuleFace(Int_t ieta) {
+ if(ieta<=0) return fOB2;
+ else return fOB1;
+ }
+ // Jul 30, 2007
+ void GetPositionAtCenterCellLine(Int_t ieta, Double_t dist, TVector2 &v);