- // parameters of right line : y = A*z + B in system where zero point is IP.
- fThetaA = fTheta - fgangle/2.;
- fA = TMath::Tan(fThetaA);
- Double_t xA = fga/2. + fga2/2., yA = fgr;
- fB = yA - fA*xA;
+ // Define first module
+ if(key==0) {
+ // theta in radians ; first object theta=pi/2.
+ fTheta = TMath::PiOver2();
+ fOK.Set(fga2/2., fgr + fgb/2.); // position the center of module vs o
+
+ // parameters of right line : y = A*z + B in system where zero point is IP.
+ fThetaA = fTheta - fgangle/2.;
+ fA = TMath::Tan(fThetaA);
+ Double_t xA = fga/2. + fga2/2.;
+ Double_t yA = fgr;
+ fB = yA - fA*xA;
+
+ } else if(key==1) {
+ // theta in radians ; first object theta = 90-0.75 = 89.25 degree
+ fTheta = 89.25*TMath::DegToRad();
+ Double_t al1 = fgangle/2.;
+ Double_t x = 0.5*(fga*TMath::Cos(al1) + fgb*TMath::Sin(al1));
+ Double_t y = 0.5*(fgb + fga*TMath::Sin(al1))*TMath::Cos(al1);
+ fOK.Set(x, fgr + y);
+ // parameters of right line : y = A*z + B in system where zero point is IP.
+ fThetaA = fTheta - fgangle/2.;
+ fA = TMath::Tan(fThetaA);
+ Double_t xA = fga*TMath::Cos(al1);
+ Double_t yA = fgr;
+ fB = yA - fA*xA;