FixedPointing

class marxs.source.FixedPointing(**kwargs)[source] [edit on github]

Bases: PointingModel

Transform spacecraft to fixed sky system.

This matrix transforms from the spacecraft system to a right-handed Cartesian system that is defined in the following way: the (x,y) plane is defined by the celestial equator, and the x-axis points to \((\alpha, \delta) = (0,0)\).

Parameters:
coordsastropy.coordinates.SkySoord

Position of the source on the sky.

rollQuantity

roll = 0 means: z axis points North (measured N -> E).

reference_transformnp.array of shape (4, 4)

By default, photons from an on-axis source come in parallel to the x-axis of the coordinate system. Their direction points from x=+inf inwards. If the simulation uses a different coordinate system (e.g. the optical axis is along the z-axis) set reference_transform to a matrix that performs the conversion.

The optical axis of the telescope is the normal to the surface of its entrance aperture. The pointing needs to know this to determine the correct direction of the photons. Also, sources that do not shine directly onto the telescope aperture but hit it at an angle, will see a smaller projected geometric area. This is taken into account by reducing the probability of off-axies photons accordingly, and thus this object needs to know the orientation (the direction f the optical axis and rotation) of the aperture.

Notes

For \(\delta \pm 90^{\circ}\) the \(\alpha\) value is irrelevant for the pointing direction - any right ascension will lead to a pointing on the pole. A value for ra is still required, because it determines the orientation of the detector plane. Obviously, for pointing straight at the pole, the simple interpretation z axis points north is meaningless, but the combination of ra, dec and roll still uniquely determines the position of the coordinate system.

Define a new MARXS element.

Attributes Summary

offset_coos

Return SkyOffsetFrame

Methods Summary

photons_dir(coos, time)

Calculate direction of photons in homogeneous coordinates.

photons_pol(photonsdir, polangle, time)

Calculate a polarization vector for linearly polarized light.

process_photons(photons)

Parameters:

Attributes Documentation

offset_coos

Return SkyOffsetFrame

Methods Documentation

photons_dir(coos, time)[source] [edit on github]

Calculate direction of photons in homogeneous coordinates.

Parameters:
coosastropy.coordiantes.SkyCoord

Origin of each photon on the sky

timenp.array

Time for each photons in sec

Returns:
photons_dirnp.array of shape (n, 4)

Homogeneous direction vector for each photon

photons_pol(photonsdir, polangle, time)[source] [edit on github]

Calculate a polarization vector for linearly polarized light.

The current definition cannot handle photons coming exactly from either the North pole or the South Pole of the sphere, because the polangle definition “North through east” is not well-defined in these positions.

Parameters:
photonsdirnp.array of shape (n, 4)

Direction of photons

polanglenp.array

Polarization angle measured N through E. If polangle has no units, it is assumed to be specified in radian.

timenp.array

Time for each photons in sec

process_photons(photons)[source] [edit on github]
Parameters:
photonsastropy.table.Table