|
[HepData-svn] r1637 - trunk/hepdata-webapp/src/main/java/cedar/hepdata/formatsblackhole at projects.hepforge.org blackhole at projects.hepforge.orgFri Jul 12 10:33:14 BST 2013
Author: whalley Date: Fri Jul 12 10:33:14 2013 New Revision: 1637 Log: Updating the YODA formatter Modified: trunk/hepdata-webapp/src/main/java/cedar/hepdata/formats/YodaFormatter.java Modified: trunk/hepdata-webapp/src/main/java/cedar/hepdata/formats/YodaFormatter.java ============================================================================== --- trunk/hepdata-webapp/src/main/java/cedar/hepdata/formats/YodaFormatter.java Thu Jul 4 12:49:14 2013 (r1636) +++ trunk/hepdata-webapp/src/main/java/cedar/hepdata/formats/YodaFormatter.java Fri Jul 12 10:33:14 2013 (r1637) @@ -12,6 +12,12 @@ public class YodaFormatter { + static public String _padId(Integer id) { + StringBuffer s = new StringBuffer(); + if (id < 10) s.append(0); + s.append(id); + return s.toString(); + } public static String format(Paper p) { if (p == null) return null; @@ -34,23 +40,46 @@ try { if (d != null) { StringBuffer s = new StringBuffer(); + Paper pp = d.getPaper(); + String expts = ""; + for (Experiment e : pp.getExperiments()){ + expts += e.getInformalName() + "_"; + } + if (expts.length() == 0) expts = "EXPT_"; + String year = "XXXX"; + for (Reference ref : pp.getReferences()) { + year = ref.getDate(); + if (ref.getType().equals("JOUR")) break; + } + StringTemplate t_pname = new StringTemplate("$expts$$year$_$inspireId$"); + t_pname.setAttribute("expts", expts); + t_pname.setAttribute("year", year); + String lead = ""; + if(pp.getInspireId()!=null) { t_pname.setAttribute("inspireId", "I"+pp.getInspireId()); lead="I"; } + else if(pp.getSpiresId()!=null) { t_pname.setAttribute("inspireId", "I"+pp.getSpiresId()); lead="S"; } + else { t_pname.setAttribute("inspireId", "0000000"); lead = "X"; } + String pname = t_pname.toString(); + for (XAxis x : d.getXAxes()) { for (YAxis y : d.getYAxes()) { - StringTemplate path = new StringTemplate("/HepData/$paperid$/d$did$-x$xid$-y$yid$"); + StringTemplate path = new StringTemplate("/REF/"+pname+"/d$did$-x$xid$-y$yid$"); + path.setAttribute("paperid", d.getPaper().getId()); - path.setAttribute("did", d.getId()); - path.setAttribute("xid", x.getId()); - path.setAttribute("yid", y.getId()); - s.append("BEGIN SCATTER " + path.toString() + "\n"); + path.setAttribute("did", _padId(d.getId())); + path.setAttribute("xid", _padId(x.getId())); + path.setAttribute("yid", _padId(y.getId())); + s.append("BEGIN YODA_SCATTER2D " + path.toString() + "\n"); for (int r = 1; r <= d.getMaxPointId(); ++r) { - StringTemplate row = new StringTemplate("$xlow$\t$xhigh$\t$yval$\t$yerr$"); + StringTemplate row = new StringTemplate("$focus$\t$dplus$\t$dminus$\t$xlow$\t$xhigh$\t$yval$\t$yerr$"); Bin b = x.getBin(r); Point p = y.getPoint(r); if (b != null && p != null) { - Double xlow = b.getLowValue(); - row.setAttribute("xlow", xlow); - Double xhigh = b.getHighValue(); - row.setAttribute("xhigh", xhigh); + Double focus = b.getFocus(); + row.setAttribute("focus", focus); + Double dplus = b.getDPlus(); + row.setAttribute("dplus", dplus); + Double dminus = b.getDMinus(); + row.setAttribute("dminus", dminus); Double yval = p.getValue(); row.setAttribute("yval", p.getValue()); Double yerr = p.getQuadCombinedPlusMinusError();
More information about the HepData-svn mailing list |