Instances of TwoHotRegions are represent pair of radiatively intense regions of the source photosphere. The class inherits from HotRegion, and applies the methods to compute photon pulses from a pair of spots where one is derived from the other. Specifically, the regions are related via antipodal reflection symmetry. Useful for pulsars under the assumption of a dominantly dipolar magnetic field with two magnetic polar caps.

The same configuration can be achieved manually via application of the HotRegions class, with very slightly higher likelihood expense (the difference is not significant enough to concern oneself with).

class xpsi.TwoHotRegions.TwoHotRegions(*args, **kwargs)[source]

Bases: HotRegion

Two photospheric hot regions, related via antipodal reflection symmetry.

The primary hot region is represented by the class from which the TwoHotRegions.TwoHotRegions derives – i.e., the HotRegion.HotRegion class.

This class differs from the HotRegions.HotRegions class because it works specifically for two hot regions, via inheritance, where one is derived from the other purely via antipodal reflection symmetry. The secondary hot region is handled by adding behaviour to the parent class.

This means that all parameters describing the secondary are derived from the primary: the secondary is antipodal and given by an equatorial reflection of the primary, followed by a rotation by \(\pi\) radians about the rotation axis. The mirroring is thus with respect to a 2-plane through the coordinate origin which is perpendicular to the line through the origin and the primary centre.


kwargs (dict) – Keyword arguments passed to HotRegion.HotRegion class.

property cellArea

Get the areas of cells in the secondary mesh.

embed(spacetime, photosphere, fast_total_counts, threads, *args)[source]

Embed the hot regions.

integrate(st, energies, threads, hot_atmosphere, elsewhere_atmosphere)[source]

Integrate over the photospheric radiation field.

Calls the CellMesh integrator, with or without exploitation of azimuthal invariance of the radiation field of the hot region.

  • st – Instance of Spacetime.

  • energies – A one-dimensional numpy.ndarray of energies in keV.

  • threads (int) – Number of OpenMP threads for pulse integration.


Print numerical settings.

class xpsi.TwoHotRegions.PulseError[source]

Bases: xpsiError

Raised if a problem was encountered during signal integration.