Jpp  18.2.0-rc.1
the software that should make you happy
 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 > JOSCPROB::JOscillogramAxis

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

JReaderoperator>> (JReader &in, JGrid< JAbscissa_t > &grid)
 Binary stream input. More...
 
JWriteroperator<< (JWriter &out, const JGrid< JAbscissa_t > &grid)
 Binary stream output. More...
 
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 38 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 41 of file JGrid.hh.

Constructor & Destructor Documentation

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

Default constructor.

Definition at line 47 of file JGrid.hh.

47  :
48  size(0),
49  xmin(),
50  xmax()
51  {}
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196
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 61 of file JGrid.hh.

63  :
64  size(nx),
65  xmin(Xmin),
66  xmax(Xmax)
67  {}
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196

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 75 of file JGrid.hh.

76  {
77  return size;
78  }
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 87 of file JGrid.hh.

88  {
89  return (index == 0 ? xmin : xmin + index * ((xmax - xmin) / (size - 1)));
90  }
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196
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 98 of file JGrid.hh.

99  {
100  return xmin;
101  }
abscissa_type xmin
Definition: JGrid.hh:195
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 109 of file JGrid.hh.

110  {
111  return xmax;
112  }
abscissa_type xmax
Definition: JGrid.hh:196
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 121 of file JGrid.hh.

122  {
123  return (int) ((size - 1) * (x - xmin) / (xmax - xmin));
124  }
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196
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 134 of file JGrid.hh.

135  {
136  collection.configure(*this);
137 
138  return *this;
139  }
void configure(const JAbstractCollection< abscissa_type > &bounds)
Configure collection.
Definition: JCollection.hh:332
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 72 of file JAbstractCollection.hh.

73  {
74  if (this->getSize() == collection.getSize()) {
75 
76  for (int i = 0; i != this->getSize(); ++i) {
77 
78  if (this->getX(i) != collection.getX(i)) {
79  return false;
80  }
81  }
82 
83  return true;
84  }
85 
86  return false;
87  }
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>
JReader& operator>> ( JReader in,
JGrid< JAbscissa_t > &  grid 
)
friend

Binary stream input.

Parameters
ininput stream
gridgrid
Returns
input stream

Definition at line 149 of file JGrid.hh.

150  {
151  return in >> grid.size >> grid.xmin >> grid.xmax;
152  }
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
template<class JAbscissa_t>
JWriter& operator<< ( JWriter out,
const JGrid< JAbscissa_t > &  grid 
)
friend

Binary stream output.

Parameters
outoutput stream
gridgrid
Returns
output stream

Definition at line 162 of file JGrid.hh.

163  {
164  return out << grid.size << grid.xmin << grid.xmax;
165  }
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196
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 175 of file JGrid.hh.

176  {
177  return in >> grid.size >> grid.xmin >> grid.xmax;
178  }
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196
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 JAcoustics sh $DETECTOR_ID source JAcousticsToolkit sh CHECK_EXIT_CODE typeset A EMITTERS get_tripods $WORKDIR tripod txt EMITTERS get_transmitters $WORKDIR transmitter txt EMITTERS for EMITTER in
Definition: JCanberra.sh:46
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 188 of file JGrid.hh.

189  {
190  return out << grid.size << ' ' << grid.xmin << ' ' << grid.xmax;
191  }
abscissa_type xmin
Definition: JGrid.hh:195
abscissa_type xmax
Definition: JGrid.hh:196

Member Data Documentation

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

Definition at line 194 of file JGrid.hh.

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

Definition at line 195 of file JGrid.hh.

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

Definition at line 196 of file JGrid.hh.


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