Changeset 19608 for trunk/Mars/msimreflector
- Timestamp:
- 09/02/19 23:13:42 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Mars/msimreflector/MFresnelLens.cc
r19607 r19608 103 103 104 104 // Radius at distance z+dz from the tip and at distance r from the axis of the cone 105 // r = (z -dz) * tan(theta)105 // r = (z+dz) * tan(theta) 106 106 107 107 // Defining … … 124 124 // (dz*u.x+p.x)^2 + (dz*u.y+p.y)^2 = (z-dz)^2 * tan(theta)^2 125 125 // 126 // dz^2*ux^2 + px^2 + 2*dz*ux*px + dz^2*uy^2 + py^2 + 2*dz*uy*py = (z^2*tan(theta)^2 + dz^2*tan(theta)^2 -2*z*dz*tan(theta)^2126 // dz^2*ux^2 + px^2 + 2*dz*ux*px + dz^2*uy^2 + py^2 + 2*dz*uy*py = (z^2*tan(theta)^2 + dz^2*tan(theta)^2 + 2*z*dz*tan(theta)^2 127 127 // 128 // dz^2*(ux^2 + uy^2 - tan(theta)^2) + 2*dz*(ux*px + uy*py +z*tan(theta)^2) + (px^2+py^2 - z^2*tan(theta)^2) = 0128 // dz^2*(ux^2 + uy^2 - tan(theta)^2) + 2*dz*(ux*px + uy*py - z*tan(theta)^2) + (px^2+py^2 - z^2*tan(theta)^2) = 0 129 129 130 130 // t := tan(theta) … … 137 137 138 138 const double a = u.R2() - g.fTanTheta2[0]; 139 const double B = u.XYvector()*p.XYvector() +g.fTanTheta2[1];139 const double B = u.XYvector()*p.XYvector() - g.fTanTheta2[1]; 140 140 const double c = p.R2() - g.fTanTheta2[2]; 141 141 … … 266 266 const double theta = atan(so / (1-sqrt(n0*n0 - so*so))); 267 267 268 // theta peak_z (defined positive)269 const Groove g(TMath::Pi()/2 + theta, -r0*tan(theta));268 // theta peak_z 269 const Groove g(TMath::Pi()/2 + theta, r0*tan(theta)); 270 270 271 271 // Calculate the insersection between the ray and the cone
Note:
See TracChangeset
for help on using the changeset viewer.