CCList.h

Classes

CCList -- (full description)

class CCList

Interface

Public Members
CCList()
CCList(const uInt nPol, const uInt nDim=2, const uInt nComp=0)
CCList(const CCList & other)
~CCList()
CCList & operator=(const CCList & other)
Int * positionPtr()
const Int * positionPtr() const
Int * pixelPosition(const uInt whichCC)
Int * freePositionPtr()
const Int * freePositionPtr() const
Float * fluxPtr()
const Float * fluxPtr() const
Float * pixelFlux(const uInt whichCC)
Float * freeFluxPtr()
const Float * freeFluxPtr() const
uInt nPol() const
uInt nDim() const
uInt nComp() const
uInt & nComp()
uInt maxComp() const
uInt freeComp() const
void resize(const uInt nComp)
void addComp(const Block<Float> & flux, const Block<Int> & position)
void tiledSort(const IPosition & tileShape)
Bool ok() const
Private Members
void suspendOKCheck()
void reactivateOKCheck()

Description

or

Review Status

Date Reviewed:
yyyy/mm/dd

Prerequisite

Etymology

Synopsis

Example

Motivation

Template Type Argument Requirements (T)

Thrown Exceptions

To Do

Member Description

CCList()

vanilla constructor (npol=1, nComp=0)

CCList(const uInt nPol, const uInt nDim=2, const uInt nComp=0)

more controlling constructor: How many Stokes per flux Block? How many spatial dimensions per position? How many total components to allocate for?

CCList(const CCList & other)

copy constructor

~CCList()

destructor

CCList & operator=(const CCList & other)

operator=

Int * positionPtr()
const Int * positionPtr() const

get pointer to the Block which holds the CC's positions in pixel coordinates. Block[nDim()*i] holds ith x, Block[nDim()*i+1] holds ith y

Int * pixelPosition(const uInt whichCC)

get pointer to the whichCC'th component's position

Int * freePositionPtr()
const Int * freePositionPtr() const

Get a pointer into the Position Block for the next free clean component.

Float * fluxPtr()
const Float * fluxPtr() const

get pointer to the Block which holds the CC's Flux. The flux itself is a Block, as it may be 1, 2, or 4 Stokes. Block[nPol()*i + iPol] holds the ith component's iPol Stokes.

Float * pixelFlux(const uInt whichCC)

get pointer to the whichCC'th component's flux

Float * freeFluxPtr()
const Float * freeFluxPtr() const

Get a pointer into the Flux Block for the next free clean component.

uInt nPol() const

How many polarizations?

uInt nDim() const

How many dimentions?

uInt nComp() const
uInt & nComp()

How many components have been filled into the list?

uInt maxComp() const

How many components have been allocated for this list?

uInt freeComp() const

We have free space for how many more components?

void resize(const uInt nComp)

Make the list bigger or smaller

void addComp(const Block<Float> & flux, const Block<Int> & position)

add a Component; if not enough space, resize the storage blocks to 2*maxComp()+1

void tiledSort(const IPosition & tileShape)

Sort components to be organized by tile number. If the position and Flux blocks have free space at the end, it gets cut off.

Bool ok() const

ok() is called to check for an internally consistent state by most everything, often behind the scenes; sometimes, the internal state is in flux after a partial operation, and ok() fails; to turn off ok() checking, set itsSuspendOKCheck = True and remember to reset it to False when the state-changing operation is complete.

void suspendOKCheck()

turn OFF error checking via "ok()"

void reactivateOKCheck()

turn ON error checking vua "ok()"