#ifndef _TARTCSVPARAMETER_H_
#define _TARTCSVPARAMETER_H_


#include <TROOT.h>
#include <TObject.h>

#include <libxml/tree.h>
#include <TXMLNode.h>

//___________________________________________________________________________
class TArtCSVParameter : public TObject
{
public:
  TArtCSVParameter();
  ~TArtCSVParameter();
  void LoadParameter(const char *NodeName, const char *csvfile);
  //  e.g., LoadParameter("NEBULA","NEBULA.csv");

  void LoadParameterList(const char *filename);

  void Write(const char *xmlfile);
  TXMLNode *GetTXMLRootNode(){return ftRootNode;} // for ROOT XML

private:
  xmlDocPtr  fDoc;
  xmlNodePtr fRootNode;
  TXMLNode  *ftRootNode;

  // return 0 if not found
  xmlNodePtr FindSameIDNode(const char *NodeName, const char *NodeContent);
  xmlNodePtr FindSameIDNode(const char *PareNodeName, const char *NodeName, const char *NodeContent);
  xmlNodePtr FindNode(xmlNodePtr NodePare, const char *NodeName);
  
  ClassDef(TArtCSVParameter,0);

};
#endif