LSSTApplications  1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
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 713 of file Baseline.cc.

Member Typedef Documentation

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

Definition at line 715 of file Baseline.cc.

Constructor & Destructor Documentation

RelativeSpanIterator::RelativeSpanIterator ( )
inline

Definition at line 717 of file Baseline.cc.

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

Definition at line 719 of file Baseline.cc.

722  : _real(real), _cx(cx), _cy(cy), _forward(forward)
723  {
724  if (_forward) {
725  _end = arr.end();
726  } else {
727  _end = arr.begin();
728  }
729  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
SpanList::const_iterator _end
Definition: Baseline.cc:810
T real(const T &x)
Definition: Integrate.h:193

Member Function Documentation

int RelativeSpanIterator::dxhi ( )
inline

Definition at line 788 of file Baseline.cc.

788  {
789  if (_forward) {
790  return (*_real)->getX1() - _cx;
791  } else {
792  return _cx - (*_real)->getX0();
793  }
794  }
int RelativeSpanIterator::dxlo ( )
inline

Definition at line 781 of file Baseline.cc.

781  {
782  if (_forward) {
783  return (*_real)->getX0() - _cx;
784  } else {
785  return _cx - (*_real)->getX1();
786  }
787  }
int RelativeSpanIterator::dy ( )
inline

Definition at line 795 of file Baseline.cc.

795  {
796  return std::abs((*_real)->getY() - _cy);
797  }
bool RelativeSpanIterator::notDone ( )
inline

Definition at line 773 of file Baseline.cc.

773  {
774  if (_forward) {
775  return _real < _end;
776  } else {
777  return _real >= _end;
778  }
779  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
SpanList::const_iterator _end
Definition: Baseline.cc:810
bool RelativeSpanIterator::operator!= ( const SpanList::const_iterator &  other)
inline

Definition at line 734 of file Baseline.cc.

734  {
735  return _real != other;
736  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
bool RelativeSpanIterator::operator!= ( RelativeSpanIterator other)
inline

Definition at line 755 of file Baseline.cc.

755  {
756  return !(*this == other);
757  }
RelativeSpanIterator RelativeSpanIterator::operator++ ( )
inline

Definition at line 759 of file Baseline.cc.

759  {
760  if (_forward) {
761  _real++;
762  } else {
763  _real--;
764  }
765  return *this;
766  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
RelativeSpanIterator RelativeSpanIterator::operator++ ( int  dummy)
inline

Definition at line 767 of file Baseline.cc.

767  {
768  RelativeSpanIterator result = *this;
769  ++(*this);
770  return result;
771  }
bool RelativeSpanIterator::operator< ( const SpanList::const_iterator &  other)
inline

Definition at line 740 of file Baseline.cc.

740  {
741  return _real < other;
742  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
bool RelativeSpanIterator::operator<= ( const SpanList::const_iterator &  other)
inline

Definition at line 737 of file Baseline.cc.

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

Definition at line 731 of file Baseline.cc.

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

Definition at line 750 of file Baseline.cc.

750  {
751  return (_real == other._real) &&
752  (_cx == other._cx) && (_cy == other._cy) &&
753  (_forward == other._forward);
754  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
bool RelativeSpanIterator::operator> ( const SpanList::const_iterator &  other)
inline

Definition at line 746 of file Baseline.cc.

746  {
747  return _real > other;
748  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
bool RelativeSpanIterator::operator>= ( const SpanList::const_iterator &  other)
inline

Definition at line 743 of file Baseline.cc.

743  {
744  return _real >= other;
745  }
SpanList::const_iterator _real
Definition: Baseline.cc:809
int RelativeSpanIterator::x0 ( )
inline

Definition at line 798 of file Baseline.cc.

798  {
799  return (*_real)->getX0();
800  }
int RelativeSpanIterator::x1 ( )
inline

Definition at line 801 of file Baseline.cc.

801  {
802  return (*_real)->getX1();
803  }
int RelativeSpanIterator::y ( )
inline

Definition at line 804 of file Baseline.cc.

804  {
805  return (*_real)->getY();
806  }

Member Data Documentation

int RelativeSpanIterator::_cx
private

Definition at line 811 of file Baseline.cc.

int RelativeSpanIterator::_cy
private

Definition at line 812 of file Baseline.cc.

SpanList::const_iterator RelativeSpanIterator::_end
private

Definition at line 810 of file Baseline.cc.

bool RelativeSpanIterator::_forward
private

Definition at line 813 of file Baseline.cc.

SpanList::const_iterator RelativeSpanIterator::_real
private

Definition at line 809 of file Baseline.cc.


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