Package theia :: Package optics :: Module thinlens :: Class ThinLens
[hide private]
[frames] | no frames]

Class ThinLens

source code




ThinLens class.

This class represents thin lenses, which are specified only by their focal
lengths, diameter, position and orientation. Only the initializer and the
printing distinguishes thin lenses (in implementation) from other lenses.

*=== Attributes ===*
SetupCount (inherited): class attribute, counts all setup components.
    [integer]
OptCount (inherited): class attribute, counts optical components. [integer]
Name: class attribute. [string]
HRCenter (inherited): center of the 'chord' of the HR surface. [3D vector]
HRNorm (inherited): unitary normal to the 'chord' of the HR (always pointing
    towards the outside of the component). [3D vector]
Thick (inherited): thickness of the optic, counted in opposite direction to
    HRNorm. [float]
Dia (inherited): diameter of the component. [float]
Ref (inherited): reference string (for keeping track with the lab). [string]
ARCenter (inherited): center of the 'chord' of the AR surface. [3D vector]
ARNorm (inherited): unitary normal to the 'chord' of the AR (always pointing
    towards the outside of the component). [3D vector]
N (inherited): refraction index of the material. [float]
HRK, ARK (inherited): curvature of the HR, AR surfaces. [float]
HRr, HRt, ARr, ARt (inherited): power reflectance and transmission
    coefficients of the HR and AR surfaces. [float]
KeepI (inherited): whether of not to keep data of rays for interference
    calculations on the HR. [boolean]
Focal: Focal length of the lens. [float]

**Note**: the curvature of any surface is positive for a concave surface
(coating inside the sphere).
Thus kurv*HRNorm/|kurv| always points to the center
of the sphere of the surface, as is the convention for the lineSurfInter of
geometry module. Same for AR.

*******     HRK > 0 and ARK > 0     *******           HRK > 0 and ARK < 0
 *****                               ********         and |ARK| > |HRK|
 H***A                               H*********A
 *****                               ********
*******                             *******

Nested Classes [hide private]

Inherited from component.SetupComponent: __metaclass__

Instance Methods [hide private]
 
__init__(self, Focal=0.1, KeepI=False, Theta=1.57079632679, Phi=0.0, Diameter=0.05, R=0.1, T=0.9, X=0.0, Y=0.0, Z=0.0, Ref=None)
ThinLens initializer.
source code
 
lines(self)
Returns the list of lines necessary to print the object.
source code

Inherited from lens.Lens: hit, hitActive, isHit

Inherited from optic.Optic: apexes, collision, geoCheck, hitSide, translate

Inherited from component.SetupComponent: __str__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]
  Name = 'ThinLens'
  __abstractmethods__ = frozenset([])

Inherited from optic.Optic: OptCount

Inherited from component.SetupComponent: SetupCount

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, Focal=0.1, KeepI=False, Theta=1.57079632679, Phi=0.0, Diameter=0.05, R=0.1, T=0.9, X=0.0, Y=0.0, Z=0.0, Ref=None)
(Constructor)

source code 

ThinLens initializer.

Parameters are the attributes.

Returns a ThinLens.

Overrides: object.__init__

lines(self)

source code 

Returns the list of lines necessary to print the object.

Overrides: component.SetupComponent.lines