LSSTApplications  11.0-13-gbb96280,12.1.rc1,12.1.rc1+1,12.1.rc1+2,12.1.rc1+5,12.1.rc1+8,12.1.rc1-1-g06d7636+1,12.1.rc1-1-g253890b+5,12.1.rc1-1-g3d31b68+7,12.1.rc1-1-g3db6b75+1,12.1.rc1-1-g5c1385a+3,12.1.rc1-1-g83b2247,12.1.rc1-1-g90cb4cf+6,12.1.rc1-1-g91da24b+3,12.1.rc1-2-g3521f8a,12.1.rc1-2-g39433dd+4,12.1.rc1-2-g486411b+2,12.1.rc1-2-g4c2be76,12.1.rc1-2-gc9c0491,12.1.rc1-2-gda2cd4f+6,12.1.rc1-3-g3391c73+2,12.1.rc1-3-g8c1bd6c+1,12.1.rc1-3-gcf4b6cb+2,12.1.rc1-4-g057223e+1,12.1.rc1-4-g19ed13b+2,12.1.rc1-4-g30492a7
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Private Attributes | List of all members
RelativeSpanIterator Class Reference

Public Types

typedef det::Footprint::SpanList SpanList
 

Public Member Functions

 RelativeSpanIterator ()
 
 RelativeSpanIterator (SpanList::const_iterator const &real, SpanList const &arr, int cx, int cy, bool forward=true)
 
bool operator== (const SpanList::const_iterator &other)
 
bool operator!= (const SpanList::const_iterator &other)
 
bool operator<= (const SpanList::const_iterator &other)
 
bool operator< (const SpanList::const_iterator &other)
 
bool operator>= (const SpanList::const_iterator &other)
 
bool operator> (const SpanList::const_iterator &other)
 
bool operator== (RelativeSpanIterator &other)
 
bool operator!= (RelativeSpanIterator &other)
 
RelativeSpanIterator operator++ ()
 
RelativeSpanIterator operator++ (int dummy)
 
bool notDone ()
 
int dxlo ()
 
int dxhi ()
 
int dy ()
 
int x0 ()
 
int x1 ()
 
int y ()
 

Private Attributes

SpanList::const_iterator _real
 
SpanList::const_iterator _end
 
int _cx
 
int _cy
 
bool _forward
 

Detailed Description

This is a convenience class used in symmetrizeFootprint, wrapping the idea of iterating through a SpanList either forward or backward, and looking at dx,dy coordinates relative to a center cx,cy coordinate. This makes the symmetrizeFootprint code much tidier and more symmetric-looking; the operations on the forward and backward iterators are mostly the same.

Definition at line 709 of file Baseline.cc.

Member Typedef Documentation

typedef det::Footprint::SpanList RelativeSpanIterator::SpanList

Definition at line 711 of file Baseline.cc.

Constructor & Destructor Documentation

RelativeSpanIterator::RelativeSpanIterator ( )
inline

Definition at line 713 of file Baseline.cc.

713 {}
RelativeSpanIterator::RelativeSpanIterator ( SpanList::const_iterator const &  real,
SpanList const &  arr,
int  cx,
int  cy,
bool  forward = true 
)
inline

Definition at line 715 of file Baseline.cc.

718  : _real(real), _cx(cx), _cy(cy), _forward(forward)
719  {
720  if (_forward) {
721  _end = arr.end();
722  } else {
723  _end = arr.begin();
724  }
725  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
SpanList::const_iterator _end
Definition: Baseline.cc:806
T real(const T &x)
Definition: Integrate.h:193

Member Function Documentation

int RelativeSpanIterator::dxhi ( )
inline

Definition at line 784 of file Baseline.cc.

784  {
785  if (_forward) {
786  return (*_real)->getX1() - _cx;
787  } else {
788  return _cx - (*_real)->getX0();
789  }
790  }
int RelativeSpanIterator::dxlo ( )
inline

Definition at line 777 of file Baseline.cc.

777  {
778  if (_forward) {
779  return (*_real)->getX0() - _cx;
780  } else {
781  return _cx - (*_real)->getX1();
782  }
783  }
int RelativeSpanIterator::dy ( )
inline

Definition at line 791 of file Baseline.cc.

791  {
792  return std::abs((*_real)->getY() - _cy);
793  }
bool RelativeSpanIterator::notDone ( )
inline

Definition at line 769 of file Baseline.cc.

769  {
770  if (_forward) {
771  return _real < _end;
772  } else {
773  return _real >= _end;
774  }
775  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
SpanList::const_iterator _end
Definition: Baseline.cc:806
bool RelativeSpanIterator::operator!= ( const SpanList::const_iterator &  other)
inline

Definition at line 730 of file Baseline.cc.

730  {
731  return _real != other;
732  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
bool RelativeSpanIterator::operator!= ( RelativeSpanIterator other)
inline

Definition at line 751 of file Baseline.cc.

751  {
752  return !(*this == other);
753  }
RelativeSpanIterator RelativeSpanIterator::operator++ ( )
inline

Definition at line 755 of file Baseline.cc.

755  {
756  if (_forward) {
757  _real++;
758  } else {
759  _real--;
760  }
761  return *this;
762  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
RelativeSpanIterator RelativeSpanIterator::operator++ ( int  dummy)
inline

Definition at line 763 of file Baseline.cc.

763  {
764  RelativeSpanIterator result = *this;
765  ++(*this);
766  return result;
767  }
bool RelativeSpanIterator::operator< ( const SpanList::const_iterator &  other)
inline

Definition at line 736 of file Baseline.cc.

736  {
737  return _real < other;
738  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
bool RelativeSpanIterator::operator<= ( const SpanList::const_iterator &  other)
inline

Definition at line 733 of file Baseline.cc.

733  {
734  return _real <= other;
735  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
bool RelativeSpanIterator::operator== ( const SpanList::const_iterator &  other)
inline

Definition at line 727 of file Baseline.cc.

727  {
728  return _real == other;
729  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
bool RelativeSpanIterator::operator== ( RelativeSpanIterator other)
inline

Definition at line 746 of file Baseline.cc.

746  {
747  return (_real == other._real) &&
748  (_cx == other._cx) && (_cy == other._cy) &&
749  (_forward == other._forward);
750  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
bool RelativeSpanIterator::operator> ( const SpanList::const_iterator &  other)
inline

Definition at line 742 of file Baseline.cc.

742  {
743  return _real > other;
744  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
bool RelativeSpanIterator::operator>= ( const SpanList::const_iterator &  other)
inline

Definition at line 739 of file Baseline.cc.

739  {
740  return _real >= other;
741  }
SpanList::const_iterator _real
Definition: Baseline.cc:805
int RelativeSpanIterator::x0 ( )
inline

Definition at line 794 of file Baseline.cc.

794  {
795  return (*_real)->getX0();
796  }
int RelativeSpanIterator::x1 ( )
inline

Definition at line 797 of file Baseline.cc.

797  {
798  return (*_real)->getX1();
799  }
int RelativeSpanIterator::y ( )
inline

Definition at line 800 of file Baseline.cc.

800  {
801  return (*_real)->getY();
802  }

Member Data Documentation

int RelativeSpanIterator::_cx
private

Definition at line 807 of file Baseline.cc.

int RelativeSpanIterator::_cy
private

Definition at line 808 of file Baseline.cc.

SpanList::const_iterator RelativeSpanIterator::_end
private

Definition at line 806 of file Baseline.cc.

bool RelativeSpanIterator::_forward
private

Definition at line 809 of file Baseline.cc.

SpanList::const_iterator RelativeSpanIterator::_real
private

Definition at line 805 of file Baseline.cc.


The documentation for this class was generated from the following file: