MapMatrixProjectorXML.cxx
Go to the documentation of this file.
1 
12 // for truncation warning
13 #ifdef _MSC_VER
14 #include "msdevstudio/MSconfig.h"
15 #endif
16 
17 #include "MapMatrixProjectorXML.h"
18 
19 #include "XmlController.h"
20 #include "XmlDocument.h"
21 #include "XmlElement.h"
22 
23 #include "axes/Range.h"
25 
26 namespace hippodraw {
27 
29  : BaseXML ( "MapMatrixProjector", controller ),
30  m_x_bins ( "xbins" ),
31  m_y_bins ( "ybins" ),
32  m_x_step ( "xstep" ),
33  m_y_step ( "ystep" ),
34  m_x_orig ( "xorig" ),
35  m_y_orig ( "yorig" )
36 {
37 }
38 
39 XmlElement *
41 createElement ( const MapMatrixProjector & projector )
42 {
43  XmlElement * tag = BaseXML::createElement (); // in base class
44 
45  const void * addr = reinterpret_cast < const void * > ( & projector );
46  int id = m_controller -> getId ( addr );
47  setId ( *tag, id );
48 
49  int number = projector.getNumberOfBins ( Axes::X );
50  tag -> setAttribute ( m_x_bins, number );
51  number = projector.getNumberOfBins ( Axes::Y );
52  tag -> setAttribute ( m_y_bins, number );
53 
54  double step = projector.getBinWidth ( Axes::X );
55  tag->setAttribute ( m_x_step, step );
56  step = projector.getBinWidth ( Axes::Y );
57  tag->setAttribute ( m_y_step, step );
58 
59  double orig = projector.getOffset ( Axes::X );
60  tag->setAttribute ( m_x_orig, orig );
61  orig = projector.getOffset ( Axes::Y );
62  tag->setAttribute ( m_y_orig, orig );
63 
64  return tag;
65 }
66 
67 void
69 setAttributes ( const XmlElement * element, ProjectorBase * projector )
70 {
71  int number = 0;
72  bool ok = element -> attribute ( m_x_bins, number );
73  projector -> setNumberOfBins ( Axes::X, number );
74  ok = element -> attribute ( m_y_bins, number );
75  projector -> setNumberOfBins ( Axes::Y, number );
76 
77  double value = 0.;
78  ok = element -> attribute ( m_x_step, value );
79  projector -> setBinWidth ( Axes::X, value );
80  ok = element -> attribute ( m_y_step, value );
81  projector -> setBinWidth ( Axes::Y, value );
82 
83  ok = element -> attribute ( m_x_orig, value );
84  projector -> setOffset ( Axes::X, value );
85  ok = element -> attribute ( m_y_orig, value );
86  projector -> setOffset ( Axes::Y, value );
87 
88  projector -> matrixTranspose(true);
89 }
90 
91 } // namespace hippodraw
92 

Generated for HippoDraw Class Library by doxygen