1 added + 4 modified, total 5 files
java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLEventData.java 2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLEventData.java 2014-01-29 01:09:49 UTC (rev 129)
@@ -13,8 +13,13 @@
public static final int RUNNR = 0;
public static final int BANK_INT_SIZE = 1;
}
+ private static class GBLDOUBLE {
+ public static final int BFIELD = 0;
+ public static final int BANK_DOUBLE_SIZE = 1;
+ }
// array holding the integer data
private int bank_int[] = new int[GBLINT.BANK_INT_SIZE];
+ private double bank_double[] = new double[GBLDOUBLE.BANK_DOUBLE_SIZE];
/**
@@ -22,8 +27,9 @@
* @param eventNumber the event number
*
*/
- public GBLEventData(int eventNumber) {
+ public GBLEventData(int eventNumber,double Bz) {
setRunNr(eventNumber);
+ setBfield(Bz);
}
public void setRunNr(int val) {
@@ -34,7 +40,15 @@
return this.getIntVal(GBLINT.RUNNR);
}
+ public void setBfield(double val) {
+ bank_double[GBLDOUBLE.BFIELD] = val;
+ }
+ public double getBfield() {
+ return this.getDoubleVal(GBLDOUBLE.BFIELD);
+ }
+
+
@Override
public int getNInt() {
return GBLINT.BANK_INT_SIZE;
@@ -47,8 +61,7 @@
@Override
public int getNDouble() {
- // TODO Auto-generated method stub
- return 0;
+ return GBLDOUBLE.BANK_DOUBLE_SIZE;
}
@Override
@@ -64,8 +77,7 @@
@Override
public double getDoubleVal(int index) {
- // TODO Auto-generated method stub
- return 0;
+ return bank_double[index];
}
@Override
java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java 2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutput.java 2014-01-29 01:09:49 UTC (rev 129)
@@ -108,7 +108,7 @@
- void printGBL(Track trk, GBLTrackData gtd, List<MCParticle> mcParticles, List<SimTrackerHit> simTrackerHits, boolean isMC) {
+ void printGBL(Track trk, GBLTrackData gtd, List<GBLStripClusterData> stripClusterDataList, List<MCParticle> mcParticles, List<SimTrackerHit> simTrackerHits, boolean isMC) {
SeedTrack st = (SeedTrack)trk;
SeedCandidate seed = st.getSeedCandidate();
@@ -221,7 +221,14 @@
if(_debug>0) System.out.printf("%s: layer %d\n",this.getClass().getSimpleName(),strip.layer());
file.printStrip(istrip,strip.layer());
-
+
+ //GBLDATA
+ GBLStripClusterData stripData = new GBLStripClusterData(strip.layer());
+ //Add to output list
+ stripClusterDataList.add(stripData);
+
+
+
//Center of the sensor
Hep3Vector origin = strip.origin();
file.printOrigin(origin);
@@ -279,6 +286,12 @@
file.printStripPathLen(s);
file.printStripPathLen3D(s3D);
+ //GBLDATA
+ stripData.setPath(s);
+ stripData.setPath3D(s3D);
+
+
+
//print stereo angle in YZ plane
file.printMeasDir(strip.u());
file.printNonMeasDir(strip.v());
java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutputDriver.java 2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLOutputDriver.java 2014-01-29 01:09:49 UTC (rev 129)
@@ -10,9 +10,13 @@
import java.util.logging.Logger;
import org.lcsim.event.EventHeader;
+import org.lcsim.event.LCRelation;
import org.lcsim.event.MCParticle;
+import org.lcsim.event.RelationalTable;
import org.lcsim.event.SimTrackerHit;
import org.lcsim.event.Track;
+import org.lcsim.event.base.BaseRelationalTable;
+import org.lcsim.event.base.MyLCRelation;
import org.lcsim.geometry.Detector;
import org.lcsim.hps.recon.tracking.EventQuality;
import org.lcsim.hps.recon.tracking.FieldMap;
@@ -124,29 +128,45 @@
}
//GBLData
- List<GBLEventData> gds = new ArrayList<GBLEventData>();
- gds.add(new GBLEventData(event.getEventNumber()));
+ List<GBLEventData> gblEventData = new ArrayList<GBLEventData>();
+ gblEventData.add(new GBLEventData(event.getEventNumber(),gbl.get_B().z()));
+ List<GBLTrackData> gblTrackDataList = new ArrayList<GBLTrackData>();
+ List<GBLStripClusterData> gblStripDataListAll = new ArrayList<GBLStripClusterData>();
+ List<GBLStripClusterData> gblStripDataList = new ArrayList<GBLStripClusterData>();
+ List<LCRelation> gblTrackToStripClusterRelationListAll = new ArrayList<LCRelation>();
- //gbl.printNewEvent(event.getEventNumber());
gbl.printNewEvent(iEvent,gbl.get_B().z());
- List<GBLTrackData> gtds = new ArrayList<GBLTrackData>();
-
iTrack = 0;
for (Track trk : selected_tracks) {
if(_debug>0) System.out.printf("%s: Print GBL output for this track\n", this.getClass().getSimpleName());
- GBLTrackData gtd = new GBLTrackData();
- gtd.setTrackId(iTrack);
+
+ //GBLDATA
+ GBLTrackData gblTrackData = new GBLTrackData(iTrack);
+ gblTrackDataList.add(gblTrackData);
gbl.printTrackID(iTrack);
- gbl.printGBL(trk,gtd,mcParticles,simTrackerHits,this.isMC);
+ gbl.printGBL(trk,gblTrackData,gblStripDataList,mcParticles,simTrackerHits,this.isMC);
+
+ //GBLDATA
+ // add strip clusters to lists
+ for(GBLStripClusterData gblStripClusterData : gblStripDataList) {
+ // add all strip clusters from this track to output list
+ gblStripDataListAll.add(gblStripClusterData);
+ // add LC relations between cluster and track
+ gblTrackToStripClusterRelationListAll.add(new MyLCRelation(gblTrackData,gblStripClusterData));
+ }
+ // clear list of strips for next track
+ gblStripDataList.clear();
+
totalTracksProcessed++;
- gtds.add(gtd);
-
++iTrack;
}
- event.put("GBLEventData", gds, GBLEventData.class, 0);
- event.put("GBLTrackData", gtds, GBLTrackData.class, 0);
+ // Put GBL info into event
+ event.put("GBLEventData", gblEventData, GBLEventData.class, 0);
+ event.put("GBLTrackData", gblTrackDataList, GBLTrackData.class, 0);
+ event.put("GBLStripClusterData", gblStripDataListAll, GBLStripClusterData.class, 0);
+ event.put("GBLTrackToStripData", gblTrackToStripClusterRelationListAll, LCRelation.class, 0);
++iEvent;
java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLStripClusterData.java (rev 0)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLStripClusterData.java 2014-01-29 01:09:49 UTC (rev 129)
@@ -0,0 +1,117 @@
+package org.lcsim.hps.recon.tracking.gbl;
+
+import org.lcsim.event.GenericObject;
+import org.lcsim.hps.recon.tracking.gbl.GBLOutput.PerigeeParams;
+
+public class GBLStripClusterData implements GenericObject {
+
+ /*
+ *
+ * Interface enumerator to access the correct data
+ *
+ */
+ private static class GBLINT {
+ public static final int ID = 0;
+ public static final int BANK_INT_SIZE = 1;
+ }
+ private static class GBLDOUBLE {
+ public static final int PATH3D = 0;
+ public static final int PATH = 1;
+ public static final int BANK_DOUBLE_SIZE = 2;
+ }
+ // array holding the integer data
+ private int bank_int[] = new int[GBLINT.BANK_INT_SIZE];
+ // array holding the double data
+ private double bank_double[] = new double[GBLDOUBLE.BANK_DOUBLE_SIZE];
+
+ /**
+ * Default constructor
+ */
+ public GBLStripClusterData(int id) {
+ setId(id);
+ }
+
+ /**
+ * @param set track id to val
+ */
+ public void setId(int val) {
+ bank_int[GBLINT.ID] = val;
+ }
+
+ /**
+ * @return track id for this object
+ */
+ public int getId() {
+ return this.getIntVal(GBLINT.ID);
+ }
+
+ /**
+ * Set path length to this strip cluster
+ * @param val
+ */
+ public void setPath(double val) {
+ bank_double[GBLDOUBLE.PATH] = val;
+ }
+
+ /**
+ * Get path length to this strip cluster
+ */
+ public double getPath() {
+ return getDoubleVal(GBLDOUBLE.PATH);
+ }
+
+ /**
+ * Set path length to this strip cluster
+ * @param val
+ */
+ public void setPath3D(double val) {
+ bank_double[GBLDOUBLE.PATH3D] = val;
+ }
+
+ /**
+ * Get path length to this strip cluster
+ */
+ public double getPath3D() {
+ return getDoubleVal(GBLDOUBLE.PATH3D);
+ }
+
+
+
+
+
+
+ /*
+ * The functions below are all overide from
+ * @see org.lcsim.event.GenericObject#getNInt()
+ */
+
+ public int getNInt() {
+ return GBLINT.BANK_INT_SIZE;
+ }
+
+ public int getNFloat() {
+ return 0;
+ }
+
+ public int getNDouble() {
+ return GBLDOUBLE.BANK_DOUBLE_SIZE;
+ }
+
+ public int getIntVal(int index) {
+ return bank_int[index];
+ }
+
+ public float getFloatVal(int index) {
+ return 0;
+ }
+
+ public double getDoubleVal(int index) {
+ return bank_double[index];
+ }
+
+ public boolean isFixedSize() {
+ return false;
+ }
+
+
+}
java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl
--- java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLTrackData.java 2014-01-29 01:02:44 UTC (rev 128)
+++ java/trunk/hps-java/src/main/java/org/lcsim/hps/recon/tracking/gbl/GBLTrackData.java 2014-01-29 01:09:49 UTC (rev 129)
@@ -11,7 +11,7 @@
*
*/
private static class GBLINT {
- public static final int TRACKID = 0;
+ public static final int ID = 0;
public static final int BANK_INT_SIZE = 1;
}
private static class GBLDOUBLE {
@@ -30,21 +30,22 @@
/**
* Default constructor
*/
- public GBLTrackData() {
+ public GBLTrackData(int id) {
+ setTrackId(id);
}
/**
* @param set track id to val
*/
public void setTrackId(int val) {
- bank_int[GBLINT.TRACKID] = val;
+ bank_int[GBLINT.ID] = val;
}
/**
* @return track id for this object
*/
public int getTrackId() {
- return this.getIntVal(GBLINT.TRACKID);
+ return this.getIntVal(GBLINT.ID);
}
/**
SVNspam 0.1