Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Protected Attributes | Friends | List of all members
JTOOLS::JGrid< JAbscissa_t > Struct Template Reference

Simple data structure for an abstract collection of equidistant abscissa values. More...

#include <JGrid.hh>

Inheritance diagram for JTOOLS::JGrid< JAbscissa_t >:
JTOOLS::JAbstractCollection< JAbscissa_t >

Public Types

typedef JAbstractCollection
< JAbscissa_t >::abscissa_type 
abscissa_type
 

Public Member Functions

 JGrid ()
 Default constructor. More...
 
 JGrid (const int nx, const abscissa_type Xmin, const abscissa_type Xmax)
 Constructor. More...
 
virtual int getSize () const override
 Get number of elements. More...
 
virtual abscissa_type getX (int index) const override
 Get abscissa value. More...
 
virtual abscissa_type getXmin () const override
 Get minimal abscissa value. More...
 
virtual abscissa_type getXmax () const override
 Get maximal abscissa value. More...
 
int getIndex (typename JClass< abscissa_type >::argument_type x) const
 Get index of given abscissa value. More...
 
template<class JElement_t , class JDistance_t >
const JGridoperator() (JCollection< JElement_t, JDistance_t > &collection) const
 Configure collection. More...
 
bool is_equal (const JAbstractCollection &collection) const
 Test whether abstract collections are equal. More...
 

Protected Attributes

int size
 
abscissa_type xmin
 
abscissa_type xmax
 

Friends

std::istream & operator>> (std::istream &in, JGrid< JAbscissa_t > &grid)
 Read grid from input. More...
 
std::ostream & operator<< (std::ostream &out, const JGrid< JAbscissa_t > &grid)
 Write grid to output. More...
 

Detailed Description

template<class JAbscissa_t>
struct JTOOLS::JGrid< JAbscissa_t >

Simple data structure for an abstract collection of equidistant abscissa values.

This class implements the JAbstractCollection interface.

Definition at line 32 of file JGrid.hh.

Member Typedef Documentation

template<class JAbscissa_t>
typedef JAbstractCollection<JAbscissa_t>::abscissa_type JTOOLS::JGrid< JAbscissa_t >::abscissa_type

Definition at line 35 of file JGrid.hh.

Constructor & Destructor Documentation

template<class JAbscissa_t>
JTOOLS::JGrid< JAbscissa_t >::JGrid ( )
inline

Default constructor.

Definition at line 41 of file JGrid.hh.

41  :
42  size(0),
43  xmin(),
44  xmax()
45  {}
abscissa_type xmin
Definition: JGrid.hh:163
abscissa_type xmax
Definition: JGrid.hh:164
template<class JAbscissa_t>
JTOOLS::JGrid< JAbscissa_t >::JGrid ( const int  nx,
const abscissa_type  Xmin,
const abscissa_type  Xmax 
)
inline

Constructor.

Parameters
nxnumber of elements
Xminlower limit
Xmaxupper limit

Definition at line 55 of file JGrid.hh.

57  :
58  size(nx),
59  xmin(Xmin),
60  xmax(Xmax)
61  {}
abscissa_type xmin
Definition: JGrid.hh:163
abscissa_type xmax
Definition: JGrid.hh:164

Member Function Documentation

template<class JAbscissa_t>
virtual int JTOOLS::JGrid< JAbscissa_t >::getSize ( ) const
inlineoverridevirtual

Get number of elements.

Returns
number of elements

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 69 of file JGrid.hh.

70  {
71  return size;
72  }
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JGrid< JAbscissa_t >::getX ( int  index) const
inlineoverridevirtual

Get abscissa value.

Parameters
indexindex
Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 81 of file JGrid.hh.

82  {
83  return xmin + index * ((xmax - xmin) / (size - 1));
84  }
abscissa_type xmin
Definition: JGrid.hh:163
abscissa_type xmax
Definition: JGrid.hh:164
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JGrid< JAbscissa_t >::getXmin ( ) const
inlineoverridevirtual

Get minimal abscissa value.

Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 92 of file JGrid.hh.

93  {
94  return xmin;
95  }
abscissa_type xmin
Definition: JGrid.hh:163
template<class JAbscissa_t>
virtual abscissa_type JTOOLS::JGrid< JAbscissa_t >::getXmax ( ) const
inlineoverridevirtual

Get maximal abscissa value.

Returns
abscissa value

Implements JTOOLS::JAbstractCollection< JAbscissa_t >.

Definition at line 103 of file JGrid.hh.

104  {
105  return xmax;
106  }
abscissa_type xmax
Definition: JGrid.hh:164
template<class JAbscissa_t>
int JTOOLS::JGrid< JAbscissa_t >::getIndex ( typename JClass< abscissa_type >::argument_type  x) const
inline

Get index of given abscissa value.

Parameters
xabscissa value
Returns
index

Definition at line 115 of file JGrid.hh.

116  {
117  return (int) ((size - 1) * (x - xmin) / (xmax - xmin));
118  }
abscissa_type xmin
Definition: JGrid.hh:163
abscissa_type xmax
Definition: JGrid.hh:164
template<class JAbscissa_t>
template<class JElement_t , class JDistance_t >
const JGrid& JTOOLS::JGrid< JAbscissa_t >::operator() ( JCollection< JElement_t, JDistance_t > &  collection) const
inline

Configure collection.

Parameters
collectioncollection
Returns
this grid

Definition at line 128 of file JGrid.hh.

129  {
130  collection.configure(*this);
131 
132  return *this;
133  }
void configure(const JAbstractCollection< abscissa_type > &bounds)
Configure collection.
Definition: JCollection.hh:334
template<class JAbscissa_t>
bool JTOOLS::JAbstractCollection< JAbscissa_t >::is_equal ( const JAbstractCollection< JAbscissa_t > &  collection) const
inlineinherited

Test whether abstract collections are equal.

Parameters
collectionabstract collection
Returns
true if collections are equals; else false

Definition at line 69 of file JAbstractCollection.hh.

70  {
71  if (this->getSize() == collection.getSize()) {
72 
73  for (int i = 0; i != this->getSize(); ++i) {
74 
75  if (this->getX(i) != collection.getX(i)) {
76  return false;
77  }
78  }
79 
80  return true;
81  }
82 
83  return false;
84  }
virtual abscissa_type getX(int index) const =0
Get abscissa value.
virtual int getSize() const =0
Get number of elements.

Friends And Related Function Documentation

template<class JAbscissa_t>
std::istream& operator>> ( std::istream &  in,
JGrid< JAbscissa_t > &  grid 
)
friend

Read grid from input.

Parameters
ininput stream
gridgrid
Returns
input stream

Definition at line 143 of file JGrid.hh.

144  {
145  return in >> grid.size >> grid.xmin >> grid.xmax;
146  }
abscissa_type xmin
Definition: JGrid.hh:163
abscissa_type xmax
Definition: JGrid.hh:164
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
Definition: JCanberra.sh:36
template<class JAbscissa_t>
std::ostream& operator<< ( std::ostream &  out,
const JGrid< JAbscissa_t > &  grid 
)
friend

Write grid to output.

Parameters
outoutput stream
gridgrid
Returns
output stream

Definition at line 156 of file JGrid.hh.

157  {
158  return out << grid.size << ' ' << grid.xmin << ' ' << grid.xmax;
159  }
abscissa_type xmin
Definition: JGrid.hh:163
abscissa_type xmax
Definition: JGrid.hh:164

Member Data Documentation

template<class JAbscissa_t>
int JTOOLS::JGrid< JAbscissa_t >::size
protected

Definition at line 162 of file JGrid.hh.

template<class JAbscissa_t>
abscissa_type JTOOLS::JGrid< JAbscissa_t >::xmin
protected

Definition at line 163 of file JGrid.hh.

template<class JAbscissa_t>
abscissa_type JTOOLS::JGrid< JAbscissa_t >::xmax
protected

Definition at line 164 of file JGrid.hh.


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