irfpy.swim.SwimFov

SWIM field of view module

class irfpy.swim.SwimFov.SwimFov(*args, **kwds)[source]

Bases: object

SwimFov class is for SWIM field of view class.

This is an abstract class, and therefore, you have to instance as follows. SwimFov.getInstance(8, ‘SWIM’) # SWIM with nD=8 with SWIM coordinate system. SwimFov.getInstance(coords=’SC’) # SWIM with nD=16(default) with spacecraft coordinate system.

@todo I do not like this implementation. So I want to re-implement.

Constructor with specification of number of deflector.

@param Number of directions

classmethod getInstance(nDef=16, coords='SWIM', version=2)[source]

Create an instance of derived class.

@param[in] nDef Number of deflection bins. @param[in] coords Coordinate system. ‘SC’ or ‘SWIM’ @param[in] version FoV table version.

getDirection(index)[source]

Get a viewing vector of the specified index bin. Vector3d instance.

@param[in] index Index of the bin of which one wants to know the direction. @retval Vector (irfpy.util.vector3d.Vector3d instance) The viewing vector of the corresponding bin.

class irfpy.swim.SwimFov.SwimFovSwimV0(nD)[source]

Bases: irfpy.swim.SwimFov._SwimFovSwimFromTable

SWIM FoV concrete class in SWIM coordinate system, version 0.

Version 0 table is based on the geometry mapping in the document CHA-SARA-DS-0017-I1R0, but not exactly true… The SWIM has in fact 16 channels. The FoV plane (=180 deg) was assumed to be separated into the same size, i.e. 11.25 deg. Each bins are corresponding to each direction. Therefore, angle is [5.625, 16.875, …, 174.375].

The SWIM coordinate system is defined as: Xswim=Zsc, Yswim=Xsc, Zswim=Ysc.

The lower index number points toward nadir (+Xsc). This means that the index 0 bin is mostly parallel to +Yswim (=+Xsc), index 7 and 8 bins are mostly parallel to +Xswim(=+Zsc). +Zswim(=+Ysc) component is always zero.

Constructor with specification of number of deflector.

@param Number of directions

getTable()[source]
class irfpy.swim.SwimFov.SwimFovSwimV1(nD)[source]

Bases: irfpy.swim.SwimFov._SwimFovSwimFromTable

SWIM FoV concrete class in SWIM coordinate system based on the table of version 1.

Version 1 table is based on the calibration by Martin Wieser (SARA_binning_parameters.ods). Detailed description on the coordinate system is in SwimFovSwimV0.

Constructor with specification of number of deflector.

@param Number of directions

getTable()[source]
class irfpy.swim.SwimFov.SwimFovSwimV2(nD)[source]

Bases: irfpy.swim.SwimFov._SwimFovSwimFromTable

SWIM FoV concrete class in SWIM coordinate system based on the table of version 2.

Version 2 table is based on a draft calibration report issues in June 2009.

Detailed description on the coordinate system is in SwimFovSwimV0.

Constructor with specification of number of deflector.

@param Number of directions

getTable()[source]
class irfpy.swim.SwimFov.SwimFovScV0(nD)[source]

Bases: irfpy.swim.SwimFov.SwimFov

SWIM FoV concrete class in Sc coordinate system, version 0.

Version 0 table is based on the geometry mapping in the document CHA-SARA-DS-0017-I1R0, but not exactly true… @sa SwimFovSwimV0 class. @todo refactor. Swim coords to Sc coords conversion can be other class?

Constructor with specification of number of deflector.

@param Number of directions

getDirection(index)[source]

Get a viewing vector of the specified index bin. Vector3d instance.

@param[in] index Index of the bin of which one wants to know the direction. @retval Vector (irfpy.util.vector3d.Vector3d instance) The viewing vector of the corresponding bin.

class irfpy.swim.SwimFov.SwimFovScV1(nD)[source]

Bases: irfpy.swim.SwimFov.SwimFov

Swim FoV implementation in SC coordinate system version 1.

Constructor with specification of number of deflector.

@param Number of directions

getDirection(index)[source]

Get a viewing vector of the specified index bin. Vector3d instance.

@param[in] index Index of the bin of which one wants to know the direction. @retval Vector (irfpy.util.vector3d.Vector3d instance) The viewing vector of the corresponding bin.

class irfpy.swim.SwimFov.SwimFovScV2(nD)[source]

Bases: irfpy.swim.SwimFov.SwimFov

Swim FoV implementation in SC coordinate system version 2.

Constructor with specification of number of deflector.

@param Number of directions

getDirection(index)[source]

Get a viewing vector of the specified index bin. Vector3d instance.

@param[in] index Index of the bin of which one wants to know the direction. @retval Vector (irfpy.util.vector3d.Vector3d instance) The viewing vector of the corresponding bin.