9 #ifndef __IPFILTER_HPP__
10 #define __IPFILTER_HPP__
43 for (
Index i=0; i<ncoor; i++) {
44 if (vals[i] <=
vals_[i]) {
62 for (
Index i=0; i<ncoor; i++) {
63 if (vals[i] >
vals_[i]) {
139 std::vector<Number> vals(2);
148 std::vector<Number> vals(2);
Class for one filter entry.
~FilterEntry()
Default Destructor.
FilterEntry()
Default Constructor.
std::vector< Number > vals_
values defining the coordinates of the entry
FilterEntry(std::vector< Number > vals, Index iter)
Constructor with the two components and the current iteration count.
FilterEntry(const FilterEntry &)
Copy Constructor.
const Index iter_
iteration number in which this entry was added to filter
Number val(Index i) const
void operator=(const FilterEntry &)
Overloaded Equals Operator.
bool Dominated(std::vector< Number > vals) const
Check if this entry is dominated by given coordinates.
bool Acceptable(std::vector< Number > vals) const
Check acceptability of pair (phi,theta) with respect to this filter entry.
~Filter()
Default Destructor.
std::list< FilterEntry * > filter_list_
List storing the filter entries.
void AddEntry(std::vector< Number > vals, Index iteration)
Add filter entry for given coordinates.
Filter()
Default Constructor.
Index dim_
Dimension of the filter (number of coordinates per entry)
bool Acceptable(Number val1, Number val2) const
void Clear()
Delete all filter entries.
Filter(const Filter &)
Copy Constructor.
bool Acceptable(std::vector< Number > vals) const
Check acceptability of given coordinates with respect to the filter.
Filter(Index dim)
Default Constructor.
void AddEntry(Number val1, Number val2, Index iteration)
void Print(const Journalist &jnlst)
Print current filter entries.
void operator=(const Filter &)
Overloaded Equals Operator.
Class responsible for all message output.
int Index
Type of all indices of vectors, matrices etc.
double Number
Type of all numbers.