Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
projectors
MapMatrixProjector.h
Go to the documentation of this file.
1
/* -*- c++ -*- */
2
14
#ifndef _MapMatrixProjector_H_
15
#define _MapMatrixProjector_H_
16
17
#include "
NTupleProjector.h
"
18
19
namespace
hippodraw {
20
28
class
MDL_HIPPOPLOT_API
MapMatrixProjector
:
public
NTupleProjector
29
{
30
31
private
:
32
34
std::string
m_x_label
;
35
38
std::string
m_y_label
;
39
44
unsigned
int
m_cols
;
45
50
unsigned
int
m_rows
;
51
55
double
m_x_step
;
56
60
double
m_y_step
;
61
64
double
m_x_origin
;
65
68
double
m_y_origin
;
69
73
double
m_scale_factor
;
74
80
double
m_null_value
;
81
86
bool
m_transpose
;
87
88
protected
:
89
91
MapMatrixProjector
(
const
MapMatrixProjector
& projector );
92
99
virtual
void
changedNTuple();
100
102
virtual
void
addPointReps ();
103
108
bool
inRangeWithZ (
int
row,
bool
flag )
const
;
109
110
public
:
111
113
MapMatrixProjector
();
114
117
ProjectorBase
*
clone
();
118
124
virtual
void
matrixTranspose (
bool
yes );
125
131
virtual
void
setNumberOfBins (
hippodraw::Axes::Type
axis,
132
unsigned
int
number );
133
137
virtual
int
getNumberOfBins (
hippodraw::Axes::Type
axis )
const
;
138
143
virtual
const
Range
& setBinWidth (
hippodraw::Axes::Type
axis,
144
double
step );
145
148
virtual
double
getBinWidth (
hippodraw::Axes::Type
axis )
const
;
149
154
virtual
void
setOffset (
hippodraw::Axes::Type
axis,
double
origin );
155
158
virtual
double
getOffset (
hippodraw::Axes::Type
axis )
const
;
159
160
virtual
void
setNTuple (
const
DataSource
* ntuple );
161
162
virtual
bool
inRange (
int
row )
const
;
163
166
virtual
Range
dataRangeOn (
hippodraw::Axes::Type
)
const
;
167
virtual
Range
dataRangeOnValue ()
const
;
168
virtual
Range
valueRange ( )
const
;
169
virtual
Range
preferredRange (
hippodraw::Axes::Type
axis )
const
;
170
173
virtual
double
getPosOn (
hippodraw::Axes::Type
axis )
const
;
174
178
const
std::string & getXLabel ()
const
;
179
183
const
std::string & getYLabel (
bool
flag )
const
;
184
188
const
std::string & getZLabel ()
const
;
189
192
virtual
double
getZValue (
double
x,
double
y )
const
;
193
195
virtual
double
getAverage (
hippodraw::Axes::Type
axis )
const
;
196
203
inline
unsigned
int
calcColumnIndex (
unsigned
int
row )
const
;
204
208
inline
double
calcColumnValue (
unsigned
int
row )
const
;
209
213
inline
unsigned
int
calcRowIndex (
unsigned
int
row )
const
;
214
218
inline
double
calcRowValue (
unsigned
int
row )
const
;
219
222
inline
double
getXStep ()
const
;
223
226
inline
double
getYStep ()
const
;
227
228
virtual
DataSource
* createNTuple ()
const
;
229
230
virtual
void
prepareValues ();
231
235
virtual
bool
isImageConvertable ()
const
;
236
237
protected
:
238
239
virtual
void
fillProjectedValues (
DataSource
* ntuple,
240
bool
in_range =
false
)
const
;
241
};
242
243
inline
244
unsigned
int
245
MapMatrixProjector::
246
calcColumnIndex
(
unsigned
int
row )
const
247
{
248
if
(
m_rows
== 0 )
return
0;
249
250
return
row /
m_rows
;
251
}
252
253
inline
254
double
255
MapMatrixProjector::
256
calcColumnValue
(
unsigned
int
row )
const
257
{
258
unsigned
int
index =
calcColumnIndex
( row );
259
260
return
m_x_origin
+ index *
m_x_step
+ 0.5 *
m_x_step
;
261
}
262
263
inline
264
unsigned
int
265
MapMatrixProjector::
266
calcRowIndex
(
unsigned
int
row )
const
267
{
268
unsigned
int
column
=
calcColumnIndex
( row );
269
270
return
row - column *
m_rows
;
271
}
272
273
inline
274
double
275
MapMatrixProjector::
276
calcRowValue
(
unsigned
int
row )
const
277
{
278
unsigned
int
index =
calcRowIndex
( row );
279
280
return
m_y_origin
+ index *
m_y_step
+ 0.5 *
m_y_step
;
281
}
282
283
inline
284
double
285
MapMatrixProjector::
286
getXStep
( )
const
287
{
288
return
m_x_step
;
289
}
290
291
inline
292
double
293
MapMatrixProjector::
294
getYStep
( )
const
295
{
296
return
m_y_step
;
297
}
298
299
}
// namespace hippodraw
300
301
#endif // _MapMatrixProjector_H_
Generated for HippoDraw Class Library by