00001 /* -*- mode: c++ -*- */ 00002 00015 #ifndef _NTupleXML_H_ 00016 #define _NTupleXML_H_ 00017 00018 #include "BaseXML.h" 00019 00020 #include <string> 00021 #include <vector> 00022 00023 class DataSource; 00024 00033 class MDL_HIPPOPLOT_API NTupleXML : virtual public BaseXML 00034 { 00035 00036 private: 00037 00039 NTupleXML ( const NTupleXML & ); 00040 00042 std::string m_name; 00043 00046 std::string m_col_name; 00047 00050 std::string m_data; 00051 00054 std::string m_label; 00055 00058 void setAttributes ( XmlElement * tag, const DataSource & ntuple ); 00059 00062 void createChildren ( XmlElement * tag, const DataSource & ntuple ); 00063 00066 void createChildren2D ( XmlElement * tag, const DataSource & ntuple ); 00067 00070 void createChildren3D ( XmlElement * tag, const DataSource & ntuple ); 00071 00072 public: 00073 00075 NTupleXML ( XmlController * ); 00076 00079 XmlElement * createElement ( const DataSource & ntuple ); 00080 00083 const DataSource * getObject ( const XmlElement & tag ); 00084 00087 std::string getName ( const XmlElement & tag ) const; 00088 00089 }; 00090 00091 #endif // _NTupleXML_H_