Jpp
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
JTOOLS::JTable2D< NX, NY, JData_t > Struct Template Reference

2D table with arithmetic capabilities. More...

#include <JTable2D.hh>

Inheritance diagram for JTOOLS::JTable2D< NX, NY, JData_t >:
JMATH::JMath< JTable2D< NX, NY, JData_t > >

Public Types

typedef JData_t data_type
 

Public Member Functions

 JTable2D ()
 Default constructor. More...
 
const data_typeoperator[] (int row) const
 Get row data. More...
 
data_typeoperator[] (int row)
 Get row data. More...
 
JTable2Dnegate ()
 Negate table. More...
 
JTable2Dadd (const JTable2D &table)
 Add table. More...
 
JTable2Dsub (const JTable2D &table)
 Subtract table. More...
 
JTable2Dmul (const double factor)
 Scale table. More...
 
JTable2Ddiv (const double factor)
 Scale table. More...
 
JTable2D< NX, NY, JData_t > & mul (const JNullType &object)
 Multiply with object. More...
 

Static Public Member Functions

static int getNX ()
 Get number of rows. More...
 
static int getNY ()
 Get number of columns. More...
 

Protected Attributes

data_type data [NX][NY]
 

Friends

JReaderoperator>> (JReader &in, JTable2D &table)
 Read table from input. More...
 
JWriteroperator<< (JWriter &out, const JTable2D &table)
 Write table to output. More...
 

Detailed Description

template<unsigned int NX, unsigned int NY, class JData_t = double>
struct JTOOLS::JTable2D< NX, NY, JData_t >

2D table with arithmetic capabilities.

Definition at line 26 of file JTable2D.hh.

Member Typedef Documentation

template<unsigned int NX, unsigned int NY, class JData_t = double>
typedef JData_t JTOOLS::JTable2D< NX, NY, JData_t >::data_type

Definition at line 29 of file JTable2D.hh.

Constructor & Destructor Documentation

template<unsigned int NX, unsigned int NY, class JData_t = double>
JTOOLS::JTable2D< NX, NY, JData_t >::JTable2D ( )
inline

Default constructor.

Definition at line 34 of file JTable2D.hh.

35  {
36  for (int i = 0; i != NX; ++i) {
37  for (int j = 0; j != NY; ++j) {
38  data[i][j] = JMATH::zero;
39  }
40  }
41  }
static const JZero zero
Function object to assign zero value.
Definition: JZero.hh:105
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634

Member Function Documentation

template<unsigned int NX, unsigned int NY, class JData_t = double>
static int JTOOLS::JTable2D< NX, NY, JData_t >::getNX ( )
inlinestatic

Get number of rows.

Returns
number of rows

Definition at line 49 of file JTable2D.hh.

50  {
51  return NX;
52  }
template<unsigned int NX, unsigned int NY, class JData_t = double>
static int JTOOLS::JTable2D< NX, NY, JData_t >::getNY ( )
inlinestatic

Get number of columns.

Returns
number of columns

Definition at line 60 of file JTable2D.hh.

61  {
62  return NY;
63  }
template<unsigned int NX, unsigned int NY, class JData_t = double>
const data_type* JTOOLS::JTable2D< NX, NY, JData_t >::operator[] ( int  row) const
inline

Get row data.

Parameters
rowrow number
Returns
row data

Definition at line 72 of file JTable2D.hh.

73  {
74  return data[row];
75  };
data_type data[NX][NY]
Definition: JTable2D.hh:218
template<unsigned int NX, unsigned int NY, class JData_t = double>
data_type* JTOOLS::JTable2D< NX, NY, JData_t >::operator[] ( int  row)
inline

Get row data.

Parameters
rowrow number
Returns
row data

Definition at line 84 of file JTable2D.hh.

85  {
86  return data[row];
87  };
data_type data[NX][NY]
Definition: JTable2D.hh:218
template<unsigned int NX, unsigned int NY, class JData_t = double>
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::negate ( )
inline

Negate table.

Returns
this table

Definition at line 95 of file JTable2D.hh.

96  {
97  for (int i = 0; i != NX; ++i) {
98  for (int j = 0; j != NY; ++j) {
99  data[i][j] = -data[i][j];
100  }
101  }
102 
103  return *this;
104  }
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634
template<unsigned int NX, unsigned int NY, class JData_t = double>
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::add ( const JTable2D< NX, NY, JData_t > &  table)
inline

Add table.

Parameters
tabletable
Returns
this table

Definition at line 113 of file JTable2D.hh.

114  {
115  for (int i = 0; i != NX; ++i) {
116  for (int j = 0; j != NY; ++j) {
117  data[i][j] += table.data[i][j];
118  }
119  }
120 
121  return *this;
122  }
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634
template<unsigned int NX, unsigned int NY, class JData_t = double>
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::sub ( const JTable2D< NX, NY, JData_t > &  table)
inline

Subtract table.

Parameters
tabletable
Returns
this table

Definition at line 131 of file JTable2D.hh.

132  {
133  for (int i = 0; i != NX; ++i) {
134  for (int j = 0; j != NY; ++j) {
135  data[i][j] -= table.data[i][j];
136  }
137  }
138 
139  return *this;
140  }
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634
template<unsigned int NX, unsigned int NY, class JData_t = double>
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::mul ( const double  factor)
inline

Scale table.

Parameters
factormultiplication factor
Returns
this table

Definition at line 149 of file JTable2D.hh.

150  {
151  for (int i = 0; i != NX; ++i) {
152  for (int j = 0; j != NY; ++j) {
153  data[i][j] *= factor;
154  }
155  }
156 
157  return *this;
158  }
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634
template<unsigned int NX, unsigned int NY, class JData_t = double>
JTable2D& JTOOLS::JTable2D< NX, NY, JData_t >::div ( const double  factor)
inline

Scale table.

Parameters
factordivision factor
Returns
this table

Definition at line 167 of file JTable2D.hh.

168  {
169  for (int i = 0; i != NX; ++i) {
170  for (int j = 0; j != NY; ++j) {
171  data[i][j] /= factor;
172  }
173  }
174 
175  return *this;
176  }
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634
JTable2D< NX, NY, JData_t > & JMATH::JMath< JTable2D< NX, NY, JData_t > , JNullType >::mul ( const JNullType object)
inlineinherited

Multiply with object.

Parameters
objectobject
Returns
result object

Definition at line 273 of file JMath.hh.

274  {
275  return static_cast<JFirst_t&>(*this) = JCalculator<JFirst_t>::calculator.mul(static_cast<const JFirst_t&>(*this), object);
276  }
Auxiliary class for arithmetic operations on objects.
Definition: JCalculator.hh:18

Friends And Related Function Documentation

template<unsigned int NX, unsigned int NY, class JData_t = double>
JReader& operator>> ( JReader in,
JTable2D< NX, NY, JData_t > &  table 
)
friend

Read table from input.

Parameters
inreader
tabletable
Returns
reader

Definition at line 186 of file JTable2D.hh.

187  {
188  for (int i = 0; i != NX; ++i) {
189  for (int j = 0; j != NY; ++j) {
190  in >> table.data[i][j];
191  }
192  }
193 
194  return in;
195  }
esac print_variable DETECTOR INPUT_FILE OUTPUT_FILE CDF for TYPE in
Definition: JSirene.sh:45
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634
template<unsigned int NX, unsigned int NY, class JData_t = double>
JWriter& operator<< ( JWriter out,
const JTable2D< NX, NY, JData_t > &  table 
)
friend

Write table to output.

Parameters
outwriter
tabletable
Returns
writer

Definition at line 205 of file JTable2D.hh.

206  {
207  for (int i = 0; i != NX; ++i) {
208  for (int j = 0; j != NY; ++j) {
209  out << table.data[i][j];
210  }
211  }
212 
213  return out;
214  }
data_type data[NX][NY]
Definition: JTable2D.hh:218
int j
Definition: JPolint.hh:634

Member Data Documentation

template<unsigned int NX, unsigned int NY, class JData_t = double>
data_type JTOOLS::JTable2D< NX, NY, JData_t >::data[NX][NY]
protected

Definition at line 218 of file JTable2D.hh.


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