Commit in java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps on MAIN
readout/svt/SimpleSvtReadout.java+22-141053 -> 1054
recon/tracking/SvtSensorSetup.java+3-31053 -> 1054
+25-17
2 modified files
Bug fix that allows the correct number of SiSensors to be obtained from the subdetector.

java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/readout/svt
SimpleSvtReadout.java 1053 -> 1054
--- java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java	2014-09-18 23:25:07 UTC (rev 1053)
+++ java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/readout/svt/SimpleSvtReadout.java	2014-09-18 23:34:45 UTC (rev 1054)
@@ -38,7 +38,12 @@
  * @author Sho Uemura <[log in to unmask]>
  */
 public class SimpleSvtReadout extends TriggerableDriver {
-
+	
+	//-----------------//
+	//--- Constants ---//
+	//-----------------//
+	private static final String SVT_SUBDETECTOR_NAME = "Tracker";
+	
     private SimTrackerHitReadoutDriver readoutDriver = new SimTrackerHitReadoutDriver();
     private SiSensorSim siSimulation = new CDFSiSensorSim();
     private Map<SiSensor, PriorityQueue<StripHit>[]> hitMap = new HashMap<SiSensor, PriorityQueue<StripHit>[]>();
@@ -109,7 +114,10 @@
     public void detectorChanged(Detector detector) {
         super.detectorChanged(detector);
 
-        sensors = detector.getSubdetector("Tracker").getDetectorElement().findAncestors(SiSensor.class);
+		// Get the collection of all SiSensors from the SVT 
+        sensors 
+        	= detector.getSubdetector(SVT_SUBDETECTOR_NAME).
+        			getDetectorElement().findDescendants(SiSensor.class);
         
         String[] readouts = { readout };
         readoutDriver.setCollections(readouts);
@@ -149,7 +157,7 @@
                 for (int i = 0; i < hitQueues.length; i++) {
                     if (hitQueues[i] != null) {
                         while (!hitQueues[i].isEmpty() && hitQueues[i].peek().time < ClockSingleton.getTime() - (readoutLatency + pileupCutoff)) {
-                            // System.out.format("Time %f: Dump stale hit with time %f\n",ClockSingleton.getTime(),hitQueues[i].peek().time);
+                            System.out.format("Time %f: Dump stale hit with time %f\n",ClockSingleton.getTime(),hitQueues[i].peek().time);
                             hitQueues[i].poll();
                         }
                         if (hitQueues[i].isEmpty()) {
@@ -189,9 +197,9 @@
 
                 long channel_id = sensor.makeChannelID(channel);
                 RawTrackerHit hit = new BaseRawTrackerHit(0, channel_id, samples, new ArrayList<SimTrackerHit>(stripHit.simHits), sensor);
-                // System.out.println("Making RTH");
+                 System.out.println("Making RTH");
                 if (readoutCuts(hit)) {
-                    // System.out.println("RTH passed cuts");
+                     System.out.println("RTH passed cuts");
                     hits.add(hit);
                 }
             }
@@ -199,7 +207,7 @@
             int flags = 1 << LCIOConstants.TRAWBIT_ID1;
             // flags += 1 << LCIOConstants.RTHBIT_HITS;
             event.put(outputCollection, hits, RawTrackerHit.class, flags, readout);
-            // System.out.println("Made " + hits.size() + " RawTrackerHits");
+            System.out.println("Made " + hits.size() + " RawTrackerHits");
         }
     }
 
@@ -275,15 +283,15 @@
 
     private boolean readoutCuts(RawTrackerHit hit) {
         if (enableThresholdCut && !samplesAboveThreshold(hit)) {
-            // System.out.println("Failed threshold cut");
+            System.out.println("Failed threshold cut");
             return false;
         }
         if (enablePileupCut && !pileupCut(hit)) {
-            // System.out.println("Failed pileup cut");
+            System.out.println("Failed pileup cut");
             return false;
         }
         if (dropBadChannels && !badChannelCut(hit)) {
-            // System.out.println("Failed bad channel cut");
+            System.out.println("Failed bad channel cut");
             return false;
         }
         return true;
@@ -310,7 +318,7 @@
         for (int sampleN = 0; sampleN < samples.length; sampleN++) {
         	pedestal = sensor.getPedestal(channel, sampleN);
         	noise = sensor.getNoise(channel, sampleN);
-            // System.out.format("%d, %d\n", samples[i] - pedestal, noise * 3.0);
+             //System.out.format("%d, %d\n", samples[sampleN] - pedestal, noise * 3.0);
             if (samples[sampleN] - pedestal > noise * noiseThreshold) {
                 count++;
             }
@@ -323,7 +331,7 @@
         if (noPileup) {
             return;
         }
-        // System.out.println("Got trigger");
+         System.out.println("Got trigger");
 
         // Create a list to hold the analog data
         List<RawTrackerHit> hits = new ArrayList<RawTrackerHit>();
@@ -358,12 +366,12 @@
                             totalContrib += signalAtTime;
                             signal[sampleN] += signalAtTime;
                             meanNoise += ((HpsSiSensor) sensor).getNoise(channel, sampleN);
-                            // System.out.format("new value of signal[%d] = %f\n", i, signal[i]);
+                            System.out.format("new value of signal[%d] = %f\n", sampleN, signal[sampleN]);
                         }
                         meanNoise /= 6; 
                         // Compare to the mean noise of the six samples instead
                         if(totalContrib > 4.0*meanNoise){ 
-                        	// System.out.format("adding %d simHits\n", hit.simHits.size());
+                        	 System.out.format("adding %d simHits\n", hit.simHits.size());
                             simHits.addAll(hit.simHits);
                         }
                     }
@@ -377,7 +385,7 @@
                 RawTrackerHit hit = new BaseRawTrackerHit(0, channel_id, samples, simHits, sensor);
                 if (readoutCuts(hit)) {
                     hits.add(hit);
-                    // System.out.format("simHits: %d\n", simHits.size());
+                     System.out.format("simHits: %d\n", simHits.size());
                     for (SimTrackerHit simHit : hit.getSimTrackerHits()) {
                         LCRelation hitRelation = new BaseLCRelation(hit, simHit);
                         trueHitRelations.add(hitRelation);

java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/recon/tracking
SvtSensorSetup.java 1053 -> 1054
--- java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/recon/tracking/SvtSensorSetup.java	2014-09-18 23:25:07 UTC (rev 1053)
+++ java/branches/hps-java_HPSJAVA-88/tracking/src/main/java/org/hps/recon/tracking/SvtSensorSetup.java	2014-09-18 23:34:45 UTC (rev 1054)
@@ -136,9 +136,9 @@
 	public void detectorChanged(Detector detector){
 		
 		// Get the collection of all SiSensors from the SVT 
-		List<SiSensor> sensors 
-			= detector.getSubdetector(SVT_SUBDETECTOR_NAME).
-				getDetectorElement().findAncestors(SiSensor.class);
+        List<SiSensor> sensors 
+        	= detector.getSubdetector(SVT_SUBDETECTOR_NAME).
+        			getDetectorElement().findDescendants(SiSensor.class);
 		
 		// Loop through all of the sensors and configure them
 		for(SiSensor sensor : sensors){
SVNspam 0.1