Index: /trunk/SophyaPI/PIext/nomhistadapter.cc
===================================================================
--- /trunk/SophyaPI/PIext/nomhistadapter.cc	(revision 3007)
+++ /trunk/SophyaPI/PIext/nomhistadapter.cc	(revision 3008)
@@ -79,4 +79,47 @@
 
 /* --Methode-- */
+string NOMAdapter_Histo::GetInfoString(vector<string>& opts)
+{
+  string blabla = "Histo1D: nbin binw mean sigma over under nentries ndata";
+         blabla += " xmin xmax vmin vmax imin imax";
+
+  if(opts.size() == 0) return GetInfoString(3);
+
+  char buff[64];
+  if(opts[0] == "nbin") {
+    sprintf(buff, "%d",mHis->NBins());
+  } else if(opts[0] == "binw") {
+    sprintf(buff, "%lg",mHis->BinWidth());
+  } else if(opts[0] == "mean") {
+    sprintf(buff, "%lg",mHis->Mean());
+  } else if(opts[0] == "sigma") {
+    sprintf(buff, "%lg",mHis->Sigma());
+  } else if(opts[0] == "over") {
+    sprintf(buff, "%lg",mHis->NOver());
+  } else if(opts[0] == "under") {
+    sprintf(buff, "%lg",mHis->NUnder());
+  } else if(opts[0] == "nentries") {
+    sprintf(buff, "%llu",mHis->NEntries());
+  } else if(opts[0] == "ndata") {
+    sprintf(buff, "%lg",mHis->NData());
+  } else if(opts[0] == "xmin") {
+    sprintf(buff, "%lg",mHis->XMin());
+  } else if(opts[0] == "xmax") {
+    sprintf(buff, "%lg",mHis->XMax());
+  } else if(opts[0] == "vmin") {
+    sprintf(buff, "%lg",mHis->VMin());
+  } else if(opts[0] == "vmax") {
+    sprintf(buff, "%lg",mHis->VMax());
+  } else if(opts[0] == "imin") {
+     sprintf(buff, "%d",mHis->IMin());
+  } else if(opts[0] == "imax") {
+     sprintf(buff, "%d",mHis->IMax());
+  } else {
+    return blabla;
+  }
+  return string(buff);
+}
+
+/* --Methode-- */
 AnyDataObj* NOMAdapter_Histo::CloneDataObj(bool /*share*/)
 {
@@ -356,4 +399,51 @@
 }
 
+
+/* --Methode-- */
+string NOMAdapter_Histo2D::GetInfoString(vector<string>& opts)
+{
+  string blabla = "Histo2D: nbin binw nband nslice nentries ndata xmin xmax";
+         blabla += " ymin ymax vmin vmax ijmin ijmax";
+
+  if(opts.size() == 0) return blabla;
+
+  char buff[128];
+  if(opts[0] == "nbin") {
+    sprintf(buff, "%d %d",mHis->NBinX(),mHis->NBinY());
+  } else if(opts[0] == "binw") {
+    sprintf(buff, "%lg %lg",mHis->WBinX(),mHis->WBinY());
+  } else if(opts[0] == "nband") {
+    sprintf(buff, "%d %d",mHis->NBandX(),mHis->NBandY());
+  } else if(opts[0] == "nslice") {
+    sprintf(buff, "%d %d",mHis->NSliX(),mHis->NSliY());
+  } else if(opts[0] == "nentries") {
+    sprintf(buff, "%d",mHis->NEntries());
+  } else if(opts[0] == "ndata") {
+    sprintf(buff, "%lg",mHis->NData());
+  } else if(opts[0] == "xmin") {
+    sprintf(buff, "%lg",mHis->XMin());
+  } else if(opts[0] == "xmax") {
+    sprintf(buff, "%lg",mHis->XMax());
+  } else if(opts[0] == "ymin") {
+    sprintf(buff, "%lg",mHis->YMin());
+  } else if(opts[0] == "ymax") {
+    sprintf(buff, "%lg",mHis->YMax());
+  } else if(opts[0] == "vmin") {
+    sprintf(buff, "%lg",mHis->VMin());
+  } else if(opts[0] == "vmax") {
+    sprintf(buff, "%lg",mHis->VMax());
+  } else if(opts[0] == "ijmin") {
+    int_4 i,j;
+     mHis->IJMin(i,j);
+     sprintf(buff, "%d %d",i,j);
+  } else if(opts[0] == "ijmax") {
+    int_4 i,j;
+     mHis->IJMax(i,j);
+     sprintf(buff, "%d %d",i,j);
+  } else {
+    return blabla;
+  }
+  return string(buff);
+}
 
 // -------------------------------------------------------------
Index: /trunk/SophyaPI/PIext/nomhistadapter.h
===================================================================
--- /trunk/SophyaPI/PIext/nomhistadapter.h	(revision 3007)
+++ /trunk/SophyaPI/PIext/nomhistadapter.h	(revision 3008)
@@ -35,4 +35,6 @@
 // Returns a string with synthetic information about the object
   virtual string                GetInfoString(int lev=0);
+
+  virtual string                GetInfoString(vector<string>& opts);
 
   virtual void			Print(ostream& os, int lev=0);
@@ -93,4 +95,6 @@
   virtual AnyDataObj* FitResidusObj(GeneralFit& mfit);
   virtual AnyDataObj* FitFunctionObj(GeneralFit& mfit);
+
+  virtual string                GetInfoString(vector<string>& opts);
 
 protected:
