Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

TupleCutXML Class Reference

#include <TupleCutXML.h>

Inheritance diagram for TupleCutXML:

Inheritance graph
[legend]
Collaboration diagram for TupleCutXML:

Collaboration graph
[legend]
List of all members.

Detailed Description

A class that is does XML serialization and de-serialization of derived classes of TupleCut.

Author:
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>

Definition at line 30 of file TupleCutXML.h.

Public Member Functions

XmlElementcreateElement ()
 Creates a new element node.
XmlElementcreateElement (unsigned int i, const TupleCut &cut)
 Returns a newly created XmlElement with attributes set for the TupleCut objects.
void fillNodeList (const XmlElement *element, std::list< XmlElement * > &nodelist)
 Fills the nodelist with immediate child nodes of element with nodes that can be handled by this object.
const XmlElementgetNode (const XmlElement *element) const
 Returns the single child node of element of the type that can be handled by this object.
TupleCutgetObject (const XmlElement &tag) const
 Creates an TupleCut object and sets its properties from the XmlElement.
void getObjects (const XmlElement *element, std::vector< TupleCut * > &cuts)
 Creates TupleCut objects from old style multidimensional TupleCut.
bool hasMultiDimTupleCut (const XmlElement *element) const
 Returns true if element contains old style NTuple, i.e.
void setAttributes (TupleCut *&cut, const XmlElement *element) const
 Sets the attributes of the TupleCut object plotter from the information in the XmlElement element.
virtual const std::stringtagName () const
 Returns the tag name used by this class.
 TupleCutXML (XmlController *controller)
 The only public constructor.

Protected Types

typedef std::list< XmlElement * > NodeList_t
 The container type for element nodes.

Protected Member Functions

void setId (XmlElement &tag, int id)
 Sets the unique identification of the object.

Protected Attributes

XmlControllerm_controller
 The singleton XML controller object.
const std::string m_id
 The attribute name for the identification of the object.
const std::string m_tagname
 The tag name used for elements created by this class.
const std::string m_type
 The attribute name for the type of object.

Private Member Functions

void createChildren (XmlElement &, const TupleCut &)
 Creates the children elements.
void setAxisAttributes (TupleCut *cut, hippodraw::Axes::Type axis, const XmlElement *element) const
 Sets the attributes for each axis of the TupleCut.
 TupleCutXML (const TupleCutXML &)
 A private copy constructor in order to avoid copying.

Private Attributes

std::string m_axis
 The axis attribute name.
std::string m_column
 The column index attribute name.
std::string m_dim
 The number of dimension attribute name.
std::string m_high
 The high end of Range attribute name.
std::string m_invert
 The inversion attribute name.
std::string m_low
 The low end of Range attribute name.

Static Private Attributes

static TupleCutXMLs_instance
 The pointer to the singleton object.


Member Typedef Documentation

typedef std::list< XmlElement * > BaseXML::NodeList_t [protected, inherited]
 

The container type for element nodes.

Definition at line 45 of file BaseXML.h.


Constructor & Destructor Documentation

TupleCutXML::TupleCutXML const TupleCutXML  )  [private]
 

A private copy constructor in order to avoid copying.

TupleCutXML::TupleCutXML XmlController controller  ) 
 

The only public constructor.

The parameter controller must object of class derived from XMLController.

Definition at line 27 of file TupleCutXML.cxx.


Member Function Documentation

void TupleCutXML::createChildren XmlElement ,
const TupleCut
[private]
 

Creates the children elements.

XmlElement * BaseXML::createElement  )  [inherited]
 

Creates a new element node.

Uses the current document as determined by the XMLController.

Definition at line 41 of file BaseXML.cxx.

References XmlDocument::createElement(), BaseXML::m_tagname, and XmlController::m_xml_doc.

Referenced by PlotterBaseXML::createAxisModel(), DataRepXML::createChildren(), BinningProjectorXML::createChildren(), AxisModelXML::createChildren(), NTupleXML::createChildren2D(), PlotterBaseXML::createCutChildren(), ViewBaseXML::createElement(), createElement(), TransformXML::createElement(), PointRepXML::createElement(), PlotterBaseXML::createElement(), NTupleXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), DataRepXML::createElement(), ColorXML::createElement(), BinToColorXML::createElement(), BinsBaseXML::createElement(), BinningProjectorXML::createElement(), BinnerAxisXML::createElement(), PlotterBaseXML::createFontElement(), and PlotterBaseXML::createFontElements().

XmlElement * TupleCutXML::createElement unsigned int  i,
const TupleCut cut
 

Returns a newly created XmlElement with attributes set for the TupleCut objects.

Definition at line 40 of file TupleCutXML.cxx.

References BaseXML::createElement(), TupleCut::getColumn(), TupleCut::getInversion(), TupleCut::getRange(), Range::high(), invert(), Range::low(), m_axis, m_column, BaseXML::m_controller, m_dim, m_high, m_invert, m_low, XmlController::m_xml_doc, and BaseXML::setId().

void BaseXML::fillNodeList const XmlElement element,
std::list< XmlElement * > &  nodelist
[inherited]
 

Fills the nodelist with immediate child nodes of element with nodes that can be handled by this object.

Definition at line 56 of file BaseXML.cxx.

References XmlElement::fillNodeList(), and BaseXML::m_tagname.

Referenced by ViewBaseXML::connectPlotters(), PlotterBaseXML::createAxisModels(), AxisModelXML::createChildren(), PlotterBaseXML::createFontObjects(), BinToColorXML::createObject(), BinsBaseXML::createObject(), XmlController::getDataReps(), PlotterBaseXML::getObject(), getObjects(), XmlController::getTupleCuts(), XmlController::getViews(), XmlController::openNTuples(), and setAttributes().

const XmlElement * BaseXML::getNode const XmlElement element  )  const [inherited]
 

Returns the single child node of element of the type that can be handled by this object.

If no such node exists, returns a null pointer.

Definition at line 51 of file BaseXML.cxx.

References XmlElement::getNode(), and BaseXML::m_tagname.

Referenced by PointRepXML::createObject(), DataRepXML::createObject(), PlotterBaseXML::getObject(), BinningProjectorXML::getObject(), ViewBaseXML::getObjects(), PlotterBaseXML::handleCutPlotter(), and BinningProjectorXML::setBins().

TupleCut * TupleCutXML::getObject const XmlElement tag  )  const
 

Creates an TupleCut object and sets its properties from the XmlElement.

Definition at line 68 of file TupleCutXML.cxx.

References setAttributes().

Referenced by XmlController::getTupleCuts().

void TupleCutXML::getObjects const XmlElement element,
std::vector< TupleCut * > &  cuts
 

Creates TupleCut objects from old style multidimensional TupleCut.

Definition at line 114 of file TupleCutXML.cxx.

References BaseXML::fillNodeList(), m_axis, m_dim, setAxisAttributes(), hippodraw::Axes::X, and hippodraw::Axes::Y.

bool TupleCutXML::hasMultiDimTupleCut const XmlElement element  )  const
 

Returns true if element contains old style NTuple, i.e.

one that had a non-negative dimension attribute or none.

Definition at line 102 of file TupleCutXML.cxx.

References m_dim.

void TupleCutXML::setAttributes TupleCut *&  cut,
const XmlElement element
const
 

Sets the attributes of the TupleCut object plotter from the information in the XmlElement element.

Definition at line 143 of file TupleCutXML.cxx.

References XmlElement::attribute(), BaseXML::fillNodeList(), m_axis, m_dim, setAxisAttributes(), hippodraw::Axes::X, and hippodraw::Axes::Y.

Referenced by getObject().

void TupleCutXML::setAxisAttributes TupleCut cut,
hippodraw::Axes::Type  axis,
const XmlElement element
const [private]
 

Sets the attributes for each axis of the TupleCut.

Definition at line 78 of file TupleCutXML.cxx.

References XmlElement::attribute(), m_column, m_high, m_invert, m_low, TupleCut::setColumn(), and TupleCut::setRange().

Referenced by getObjects(), and setAttributes().

void BaseXML::setId XmlElement tag,
int  id
[protected, inherited]
 

Sets the unique identification of the object.

Definition at line 62 of file BaseXML.cxx.

References BaseXML::m_id, and XmlElement::setAttribute().

Referenced by ViewBaseXML::createElement(), createElement(), PlotterBaseXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), DataRepXML::createElement(), BinningProjectorXML::createElement(), PointRepXML::setAttributes(), and NTupleXML::setAttributes().

const string & BaseXML::tagName  )  const [virtual, inherited]
 

Returns the tag name used by this class.

Definition at line 46 of file BaseXML.cxx.

References BaseXML::m_tagname.


Member Data Documentation

std::string TupleCutXML::m_axis [private]
 

The axis attribute name.

Definition at line 60 of file TupleCutXML.h.

Referenced by createElement(), getObjects(), and setAttributes().

std::string TupleCutXML::m_column [private]
 

The column index attribute name.

Definition at line 48 of file TupleCutXML.h.

Referenced by createElement(), and setAxisAttributes().

XmlController* BaseXML::m_controller [protected, inherited]
 

The singleton XML controller object.

Definition at line 58 of file BaseXML.h.

Referenced by NTupleProjectorXML::addCuts(), ViewBaseXML::connectPlotters(), NTupleProjectorXML::createChildren(), PlotterBaseXML::createCutChildren(), DataRepXML::createDataRep(), ViewBaseXML::createElement(), createElement(), PlotterBaseXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), DataRepXML::createElement(), BinningProjectorXML::createElement(), PlotterBaseXML::createFontObjects(), DataRepXML::createFunctionTargetChild(), DataRepXML::createObject(), PlotterBaseXML::createPlotter(), PlotterBaseXML::createTextChildren(), PlotterBaseXML::getCutTargets(), PlotterBaseXML::getObject(), ViewBaseXML::getObjects(), PlotterBaseXML::handleCutPlotter(), PlotterBaseXML::handleFunction(), PlotterBaseXML::handleTextPlotter(), PointRepXML::setAttributes(), and NTupleXML::setAttributes().

std::string TupleCutXML::m_dim [private]
 

The number of dimension attribute name.

This attribute is obsolete. But it continues to be used with a negative value to indicate that all TupleCut objects are one dimensional. The lack of this attribute was a bug, and 2D TupleCut objects weren't created from document.

Definition at line 56 of file TupleCutXML.h.

Referenced by createElement(), getObjects(), hasMultiDimTupleCut(), and setAttributes().

std::string TupleCutXML::m_high [private]
 

The high end of Range attribute name.

Definition at line 42 of file TupleCutXML.h.

Referenced by createElement(), and setAxisAttributes().

const std::string BaseXML::m_id [protected, inherited]
 

The attribute name for the identification of the object.

Definition at line 55 of file BaseXML.h.

Referenced by BaseXML::setId().

std::string TupleCutXML::m_invert [private]
 

The inversion attribute name.

Definition at line 45 of file TupleCutXML.h.

Referenced by createElement(), and setAxisAttributes().

std::string TupleCutXML::m_low [private]
 

The low end of Range attribute name.

Definition at line 39 of file TupleCutXML.h.

Referenced by createElement(), and setAxisAttributes().

const std::string BaseXML::m_tagname [protected, inherited]
 

The tag name used for elements created by this class.

Definition at line 48 of file BaseXML.h.

Referenced by BaseXML::createElement(), BaseXML::fillNodeList(), BaseXML::getNode(), and BaseXML::tagName().

const std::string BaseXML::m_type [protected, inherited]
 

The attribute name for the type of object.

Used to create object from one of the classes derived from Factory.

Definition at line 52 of file BaseXML.h.

Referenced by DataRepXML::createDataRep(), TransformXML::createElement(), PlotterBaseXML::createElement(), DataRepXML::createElement(), BinToColorXML::createElement(), BinsBaseXML::createElement(), TransformXML::createObject(), PointRepXML::createObject(), DataRepXML::createObject(), BinToColorXML::createObject(), BinsBaseXML::createObject(), BinnerAxisXML::createObject(), PlotterBaseXML::createPlotter(), PointRepXML::setAttributes(), and BinnerAxisXML::setAttributes().

TupleCutXML* TupleCutXML::s_instance [static, private]
 

The pointer to the singleton object.

Definition at line 36 of file TupleCutXML.h.


The documentation for this class was generated from the following files:
Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3