+
+//_____________________________________________________________________________
+Double_t AliEMCALShishKebabTrd1Module::GetThetaInDegree() const
+{
+ return fTheta*TMath::RadToDeg();
+}
+
+//_____________________________________________________________________________
+Double_t AliEMCALShishKebabTrd1Module::GetEtaOfCenterOfModule() const
+{
+ return -TMath::Log(TMath::Tan(fOK.Phi()/2.));
+}
+
+void AliEMCALShishKebabTrd1Module::GetPositionAtCenterCellLine(Int_t ieta, Double_t dist, TVector2 &v)
+{
+ // Jul 30, 2007
+ static Double_t theta=0., x=0., y=0.;
+ if(ieta==0) {
+ v = fOB2;
+ theta = fThetaOB2;
+ } else if(ieta==1) {
+ v = fOB1;
+ theta = fThetaOB1;
+ } else {
+ assert(0);
+ }
+ x = v.X() + TMath::Cos(theta) * dist;
+ y = v.Y() + TMath::Sin(theta) * dist;
+ v.Set(x,y);
+ //printf(" GetPositionAtCenterCellLine() : dist %f : ieta %i : x %f | y %f \n", dist, ieta, x, y);
+}
+
+
+//_____________________________________________________________________________
+Double_t AliEMCALShishKebabTrd1Module::GetMaxEtaOfModule(int pri) const
+{
+ // Right bottom point of module
+ Double_t xBottom = (fgr - fB) / fA;
+ Double_t thetaBottom = TMath::ATan2(fgr, xBottom);
+ Double_t etaBottom = ThetaToEta(thetaBottom);
+ // Right top point of module
+ Double_t l = fgb / TMath::Cos(fgangle/2.); // length of lateral module side
+ Double_t xTop = xBottom + l*TMath::Cos(TMath::ATan(fA));
+ Double_t yTop = fA*xTop + fB;
+ Double_t thetaTop = TMath::ATan2(yTop, xTop);
+ Double_t etaTop = ThetaToEta(thetaTop);
+
+ if(pri) {
+ printf(" Right bottom point of module : eta %5.4f : theta %6.4f (%6.2f) \n",
+ etaBottom, thetaBottom, thetaBottom * TMath::RadToDeg());
+ printf(" Right top point of module : eta %5.4f : theta %6.4f (%6.2f) \n",
+ etaTop, thetaTop, thetaTop * TMath::RadToDeg());
+ }
+ return etaBottom>etaTop ? etaBottom : etaTop;
+}