00001 /* -*- mode: c++ -*- */ 00002 00015 #ifndef _NTupleXML_H_ 00016 #define _NTupleXML_H_ 00017 00018 #include "BaseXML.h" 00019 00020 #include <vector> 00021 00022 namespace hippodraw { 00023 00024 class DataSource; 00025 00034 class MDL_HIPPOPLOT_API NTupleXML : virtual public BaseXML 00035 { 00036 00037 private: 00038 00040 NTupleXML ( const NTupleXML & ); 00041 00043 std::string m_name; 00044 00047 std::string m_col_name; 00048 00051 std::string m_data; 00052 00055 std::string m_label; 00056 00059 void setAttributes ( XmlElement * tag, const DataSource & ntuple ); 00060 00063 void createChildren ( XmlElement * tag, const DataSource & ntuple ); 00064 00067 void createChildren2D ( XmlElement * tag, const DataSource & ntuple ); 00068 00071 void createChildren3D ( XmlElement * tag, const DataSource & ntuple ); 00072 00073 public: 00074 00076 NTupleXML ( XmlController * ); 00077 00080 XmlElement * createElement ( const DataSource & ntuple ); 00081 00084 const DataSource * getObject ( const XmlElement & tag ); 00085 00088 std::string getName ( const XmlElement & tag ) const; 00089 00090 }; 00091 00092 } // namespace hippodraw 00093 00094 #endif // _NTupleXML_H_