hps-java/src/main/java/org/lcsim/hps/recon/tracking
diff -u -r1.2 -r1.3
--- HPSSVTHitDriver.java 30 Jan 2012 01:27:30 -0000 1.2
+++ HPSSVTHitDriver.java 12 Mar 2012 23:05:17 -0000 1.3
@@ -14,6 +14,7 @@
import org.lcsim.detector.tracker.silicon.SiSensor;
import org.lcsim.detector.tracker.silicon.SiTrackerModule;
import org.lcsim.event.EventHeader;
+import org.lcsim.event.RawTrackerHit;
import org.lcsim.geometry.Detector;
import org.lcsim.recon.tracking.digitization.sisim.CDFSiSensorSim;
import org.lcsim.util.Driver;
@@ -24,20 +25,20 @@
import org.lcsim.recon.tracking.digitization.sisim.config.SimTrackerHitReadoutDriver;
import org.lcsim.hps.recon.tracking.apv25.HPSSiSensorReadout;
import org.lcsim.hps.recon.tracking.apv25.HPSAPV25;
+import org.lcsim.recon.tracking.digitization.sisim.NearestNeighborRMS;
+import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHit;
+import org.lcsim.recon.tracking.digitization.sisim.SiTrackerHitStrip1D;
+import org.lcsim.recon.tracking.digitization.sisim.StripHitMaker;
/**
*
* @author Omar Moreno <[log in to unmask]>
- * @version $Id: HPSSVTHitDriver.java,v 1.2 2012/01/30 01:27:30 omoreno Exp $
+ * @version $Id: HPSSVTHitDriver.java,v 1.3 2012/03/12 23:05:17 omoreno Exp $
*/
public class HPSSVTHitDriver extends Driver {
- //
- CDFSiSensorSim siSimulation;
- HPSAPV25 apv25;
- HPSSiSensorReadout siReadout;
- HPSDataProcessingModule dpm;
+// HPSStripHitMaker stripClusterer;
//
List<String> processPaths = new ArrayList<String>();
@@ -58,29 +59,27 @@
*/
public HPSSVTHitDriver()
{
- //--- Sensor Simulation ---//
- //-------------------------//
- siSimulation = new CDFSiSensorSim();
-
- //--- APV25 Simulation ---//
- //------------------------//
- apv25 = new HPSAPV25( );
- // Set the APV25 Shaping time [ns]
- apv25.setShapingTime(35);
- // Set the APV25 operating mode
- apv25.setAPV25Mode("multi-peak");
- // Set the APV25 analog pipeline sampling time
- apv25.setSamplingTime(24);
-
- //--- HPS Data Processing Module ---//
- //----------------------------------//
- dpm = new HPSDataProcessingModule();
- add(dpm);
-
- //Specify the readouts to process
- readouts.add("TrackerHits");
- // Specify the detectors to process
- processPaths.add("Tracker");
+
+ CDFSiSensorSim stripSimulation = new CDFSiSensorSim();
+
+// HPSNearestNeighborRMS stripClustering = new HPSNearestNeighborRMS();
+
+// stripClustering.setSeedThreshold(278*4);
+// stripClustering.setNeighborThreshold(278*3);
+// stripClustering.setClusterThreshold(4);
+//
+// stripClusterer = new HPSStripHitMaker(stripSimulation, stripClustering);
+//
+// stripClusterer.setMaxClusterSize(10);
+// stripClusterer.setCentralStripAveragingThreshold(4);
+//
+// double multiplier = 1.0;
+// stripClusterer.SetOneClusterErr(multiplier/Math.sqrt(12));
+// stripClusterer.SetTwoClusterErr(multiplier/5);
+// stripClusterer.SetThreeClusterErr(multiplier/3);
+// stripClusterer.SetFourClusterErr(multiplier/2);
+// stripClusterer.SetFiveClusterErr(multiplier/1);
+
}
/**
@@ -137,53 +136,25 @@
{
super.process(event);
- // Output event number
-// if( eventNumber%100 == 0){
-// System.out.println("Now processing event " + eventNumber);
-// }
+ List<RawTrackerHit> rawHits = (List<RawTrackerHit>) event.get("RawTrackerHits");
+ List<SiTrackerHit> hitsStrip1D = new ArrayList<SiTrackerHit>();
- // This should be moved to clock singleton ...
- // If a sampling cycle has passed, increment the pointer positions of
- // all existing analog pipelines
- if(ClockSingleton.getTime()%24 == 0 && eventNumber != 1){
- apv25.incrementAllPointerPositions(
- HPSSiSensorReadout.analogPipelineMap );
- apv25.stepAPV25Clock();
- }
-
- // Increment the event number
- ++eventNumber;
+ if(rawHits.size() > 0) System.out.println("It worked!");
- // Loop over all sensors
- for( SiSensor sensor : processSensors ){
-
- // Readout the sensor
- siReadout.readoutSensor(sensor);
- }
+// for(SiSensor sensor: processSensors){
+// hitsStrip1D.addAll(stripClusterer.makeHits(sensor));
+//
+// }
- // If a trigger is recieved readout the APV25 and digitize all hits
- if(HPSAPV25.triggerBit){
- for(int sample = 0; sample < 6; sample++){
- if(!triggerTimeStamp.contains(apv25.apv25ClockCycle + sample)){
- triggerTimeStamp.add(apv25.apv25ClockCycle + sample);
- //--->
- System.out.println(triggerTimeStamp.toString());
- //--->
- }
+
+ if(hitsStrip1D.size() > 0){
+ System.out.println(this.getClass().getName() + ": The Number of Clusters Found: " + hitsStrip1D.size());
}
- HPSAPV25.triggerBit = false;
- }
-
-
- if(!triggerTimeStamp.isEmpty()){
- if(triggerTimeStamp.contains(apv25.apv25ClockCycle)){
- siReadout.readoutAPV25();
- triggerTimeStamp.remove((Integer) apv25.apv25ClockCycle);
- //--->
- System.out.println(triggerTimeStamp.toString());
- //--->
- }
- }
+ event.put("_SiTrackerHitStrip1D",hitsStrip1D, SiTrackerHitStrip1D.class, 0, toString());
+ }
+
+ public String getStripHits1DName(){
+ return "_SiTrackerHitStrip1D";
}
}