00001 /* -*- mode: c++ -*- 00002 * 00003 * HippoPlot NTupleProjectorXML class interface 00004 * 00005 * Copyright (C) 2002, 2003 The Board of Trustees of The Leland 00006 * Stanford Junior University. All Rights Reserved. 00007 * 00008 * $Id: NTupleProjectorXML.h,v 1.17 2003/02/17 21:27:57 pfkeb Exp $ 00009 * 00010 */ 00011 00012 #ifndef _NTupleProjectorXML_H_ 00013 #define _NTupleProjectorXML_H_ 00014 00015 #include "BaseXML.h" 00016 00017 #include <vector> 00018 00019 class NTupleProjector; 00020 00026 class MDL_HIPPOPLOT_API NTupleProjectorXML : public BaseXML 00027 { 00028 00029 private: 00030 00032 NTupleProjectorXML ( const NTupleProjectorXML & ); 00033 00034 public: 00035 00037 NTupleProjectorXML ( XmlController * ); 00038 00040 void createChildren ( XmlElement & tag, const NTupleProjector & proj ); 00041 00043 XmlElement * createElement ( const NTupleProjector & projector ); 00044 00047 int getNTupleReference ( const XmlElement * element ) const; 00048 00051 void getBindings ( const XmlElement * element, 00052 std::vector < std::string > & bindings ) const; 00053 00055 void addCuts ( const XmlElement * element, NTupleProjector * ); 00056 00057 }; 00058 00059 #endif // _NTupleProjectorXML_H_